LINUX.ORG.RU

Помогите определиться с реализацией

 ,


0

3

Решил поковырять LISP и Scheme, но с реализацией никак не определюсь:

u@netbook:~> ls /usr/ports/lang/*scheme* | grep "/"
/usr/ports/lang/gscheme:
/usr/ports/lang/mit-scheme:
/usr/ports/lang/qscheme:
/usr/ports/lang/rscheme:
/usr/ports/lang/scheme48:
/usr/ports/lang/schemetoc:
u@netbook:~>

Требования: чтобы было в портах FreeBSD. Пока склоняюсь к mit-scheme и sbcl. Заранее благодарю за ответ.

★★★★★

что за язык LISP?

можешь на guile посмотреть, хотя ковыряй сразу racket, это нынче самый совершенный потомок лиспов.

x4DA ★★★★★ ()

хз, пробовал работать только с несколькими. у mit-scheme интерфейс емакса, scheme48 - относительно адекватен. об остальных не слышал.

бери guile или что-то из компилирующихся - там библиотек есть некоторое количество.

fish_ka ()

Из CL у меня меньше всего проблем было с clozurecl. Еще ракету много хвалят (схема). Что там во фревых портах - хз.

staseg ★★★★★ ()

но с реализацией никак не определюсь

Racket

Пока склоняюсь к mit-scheme и sbcl

sbcl - это компилятор CommonLisp

encyrtid ★★★★★ ()

Если Common Lisp — то бери любую реализацию, они все одинаковы снаружи.

Если нужны тонкости:

  • SBCL — медленный компилятор, но генерерует самый быстрый код
  • Clozure CL (CCL) — быстрый компилятор, но код не такой скорострельный как у SBCL, но тоже хорош
  • CLISP — быстрый компилятор в байткод, генерируемый код медленнее, хотя говорят bignum'ы там быстрые
  • ECL — использует Cи для генерации кода, есть интерпретатор, хорош для встраивания
  • CMUCL — генерируемый код на равне с SBCL, но фичей поменьше
  • GCL — тоже что и ECL, одна семья
  • ABCL — живет на JVM, компилирует в Java-байткод, может хорошо интегрироваться с жаба-экосистемой
gensym ★★ ()

Чтобы заценить все то, что говорят лисперы, бери SBCL + SLIME.

Racket - академическая игрушка, ценимая школотой за «интуитивно-понятный» GUI.

anonymous ()
Ответ на: комментарий от IPR

Под «компилирующиеся» я имел в виду chicken-scheme и gambit. Только обрати внимание на поддержку стандартов (http://www.scheme-reports.org/) - gambit поддерживает 5 (хотя макросы без гигиены), о chicken - не знаю.

+ если хочется действительно большого количества библиотек - попробуй clojure - очень много разных привязок к существующим библиотекам на java.

fish_ka ()
Ответ на: комментарий от Xenesz

ПМСМ, именно для ковыряния у CLISP самый няшный REPL.

Без разницы, в REPL через SLIME ковыряют.

anonymous ()
Ответ на: комментарий от Xenesz

Может в него ещё и дебаггер как-нибудь можно впятить?

Проще, как выше говорили, сразу SLIME освоить иначе ничего путного не получится.

gensym ★★ ()

Бери racket. Можно ещё Guile посмотреть.

Dark_SavanT ★★★★★ ()
Ответ на: комментарий от antares0

Да slime-вский можно дергать через swank минуя сосбственно slime. Но в интерактивном режиме это еще страннее.

antares0 ★★★ ()
Ответ на: комментарий от anonymous

Racket - академическая игрушка, ценимая школотой за «интуитивно-понятный» GUI.

еще один форумный теоретик.

x4DA ★★★★★ ()
Ответ на: комментарий от naryl
  • 1. scheme /= racket
  • 2. Как язык clojure не особо интересен. как инструмент - вполне, есть интересные фичи.
x4DA ★★★★★ ()

1. LISP писать не корректно. 2. sbcl это не scheme

shamaz ()
Ответ на: комментарий от gensym

CLISP — быстрый компилятор в байткод, генерируемый код медленнее, хотя говорят bignum'ы там быстрые

Я бы в преимущество поставил маленький футпринт в памяти по сравнению с SBCL и весьма быстрый старт. А еще clisp собирается под большее число платформ.

Порт SBCL под FreeBSD, насколько я вижу, запаздывает по сравнению с Linux. http://www.sbcl.org/platform-table.html

Zubok ★★★★★ ()
Ответ на: комментарий от gensym

А ещё sbcl труднопереносимый (а шо, нет)?

Кстати, я тут ставил 1.1.12 из портов, и он перестал собираться с sb-thread. Надо щас обновить порты и попробовать ещё.

shamaz ()
Ответ на: комментарий от Zubok

На эту таблицу бессмысленно смотреть, как мне кажется. В портах фрибсд ща 1.1.12 (не понятно, правда, что с sb-thread. Но 1.1.8 работал)

shamaz ()
Ответ на: комментарий от IPR

Я щас самых распоследний 1.1.13 собрал, и он тоже не работает с тредами. Регрессия. Я ща, конечно, посмотрю, в чём дело, но патчи этим пидорасам я слать не буду.

Stand by

shamaz ()
Ответ на: комментарий от shamaz

Сейчас попробую, но это не быстро, ибо: 1. Нетбук 2. Уже запущена сборка ракеты.

IPR ★★★★★ ()
Ответ на: комментарий от anonymous

В целом описание звучит вкусно, но жаба...

IPR ★★★★★ ()
Ответ на: комментарий от IPR

https://github.com/sbcl/sbcl/commit/695bb17f0b3c5ae1680115f7c59ed625c2877084

Этот тест падает. Сами треды они не трогали, то есть баг был. К тому же он есть на винде:) Если так припрет, можно fails-on дописать

надо разработчикам

Я с ними пообщался и больше не хочу

shamaz ()
Ответ на: комментарий от anonymous

Racket - академическая игрушка, ценимая школотой за «интуитивно-понятный» GUI.

«интуитивно-понятный» GUI.

Как будто что-то плохое.

DarkEld3r ★★★★★ ()
Ответ на: комментарий от IPR

Гуи приятный, но жрёт память этот ракет, как не в себя.

А всякие питоны с дотнетами в этом плане сильно лучше?

Я с ракетом только немного баловался, так что толком сравнить не могу.

DarkEld3r ★★★★★ ()
Ответ на: комментарий от DarkEld3r

Как будто что-то плохое.

В сравнении со SLIME - полное говно.

anonymous ()
Ответ на: комментарий от x4DA

еще один форумный теоретик.

Вообще-то Racket академики в университетах делают, если ты не знал. А школота его любит, так как Emacs осилить не может.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.