Какова наилучшая реализация схемы или LISP для OS X?

Я ищу версию Scheme или даже LISP, которую я могу использовать для восстановления некоторых утерянных навыков разработки LISP. Некоторые веб-возможности были бы приятными, но не существенными.

Я посмотрел схему Plt и MIT, и, хотя оба они выглядят довольно хорошо, Plt, похоже, больше функциональна. Я также рассмотрел реализации LISP, но все они выглядят довольно дорого.

Я пользуюсь бесплатными/недорогими реализациями, так как это действительно может быть случайным хобби-программированием. Какие рекомендации у вас есть?

Ответ 1

Я бы пошел с Ракеткой. Это может быть не так быстро, как SBCL, но в нем есть отличные библиотеки и документация, а также интегрированная среда, которая позволяет вам разрабатывать и запускать программы Scheme прямо из ворот. Что мне действительно нравится в Racket IDE, DrRacket, это то, что вам не нужно делать - вам не нужно изучать Emacs, вам не нужно изучать SLIME, вам не нужно беспокоиться о том, поскольку практически все библиотеки, предназначенные для Racket, можно найти в пакетах. В целом, он действительно сокращает кривую обучения и позволяет сосредоточиться на реальной задаче: писать отличный код.

Кроме того, он поставляется с веб-сервером , если вы хотите сделать веб-сайты на основе Racket (которые я сейчас просматриваю).

Ответ 2

Я довольно много экспериментировал с этим.

Clozure Common Lisp (née Open MCL), безусловно, самый быстрый; На 25-30 процентов быстрее, чем у следующего конкурента на моем Intel Mac Mini.

Схема MIT отлично работает на Mac. Я думаю, что в конце концов я сам ее составлял, но на этом сайте есть двоичные файлы. PLT Scheme также хороша и, возможно, немного лучше интегрирована в мир Mac. (PLT Scheme теперь называется Racket, но я не экспериментировал с ней после изменения.)

Ответ 3

Я большой поклонник Clojure, SBCL и Clozure CL. Они все фантастические, но они также слишком переполнены, если все, что вы хотите сделать, это освежить свои отрубы. Все они требуют абсурдных объемов информации, поиска почтовых списков, установки пакетов, irc lurking и т.д.

Dr Scheme просто устанавливает и запускает. Я закончил первые три главы SICP четыре с половиной года назад, используя Dr Scheme. Ничто не было более глубоким, чем определение самого оценщика Схемы. После того, как вы поймете, что у вас будет больше терпения для братьев из промышленных сил.

Ответ 4

Для схемы DrRacket является удивительным (включен в Racket).

Для Common Lisp Ready Lisp отлично. Один dmg с SBCL, Aquamacs и Slime работает из коробки.

На веб-сайте:

Ready Lisp является связыванием нескольких популярных пакетов Common Lisp, особенно для Mac OS X, включая: Aquamacs, SBCL и SLIME. После загрузки у вас будет один пакет приложений, который вы можете дважды щелкнуть - и найдите себя в полностью настроенном Common Lisp REPL.

Идеально подходит для пользователей OS X, которые хотят испытать красоту Common Lisp с минимальными трудностями. Он также может быть использован учителями, чтобы дать своим ученикам Mac бесплатную, полную общую среду Lisp, чтобы забрать с собой домой. Требования

Текущая версия Ready Lisp - 20090127 и требует Mac OS X 10.5 (Leopard).

Он включает следующие версии программного обеспечения:

Aquamacs  1.6
SBCL    1.0.24
SLIME   2009-01-23
CL-FAD  0.6.2
CL-PPCRE    2.0.1
LOCAL-TIME  0.9.3
SERIES  2.2.10
CL HyperSpec    7.0
paredit.el  20
redshank.el     1
cldoc.el    1.16

Ответ 5

Я только начал играть с Clojure. По-видимому, он имеет приятную веб-инфраструктуру и компилируется в байт-код JVM.

Я также использую DrScheme довольно много. Это простая, но полезная IDE.

Ответ 6

В зависимости от того, как вы определяете "Lisp", Clojure может соответствовать счету. Он работает на OS X отлично (он запускается в любом месте JVM). Он имеет веб-возможности и свободен.

Это также может быть новым, свежим и интересным в использовании. Может быть идеально подходит для программирования хобби. Легко писать веб-приложения или графические приложения (используя Java Swing или даже Qt).

Ответ 7

Я не использовал его сам, но Steel Bank Common Lisp получил некоторый благоприятный шум над reddit. Это с открытым исходным кодом и бесплатно, поэтому цена подходит для некоторых хобби.

В прошлом у меня было GNU Common Lisp работает на моем macbook pro.

Ответ 8

Если вы ищете схему, вы можете посмотреть только что выпущенную JazzScheme.

Ответ 9

Я рекомендую Racket новым пользователям, так как он предоставляет одну из лучших IDE для начинающих Scheme (или, скорее, новички программирования, которые, случается, используют Scheme, или, еще лучше, работают через HtDP).

http://racket-lang.org/

Другим вариантом для людей, которые больше заинтересованы в небольшой системе Scheme, чтобы самостоятельно изменить ее или прочитать ее исходный код, является Larceny Scheme, которая представляет интерес в основном потому, что ее JIT-компилятор Twobit сам реализуется полностью в Схема.

http://www.larcenists.org/


Обновление: Кроме того, Chez Scheme недавно был открыт:

https://github.com/cisco/ChezScheme

(Возможно, он не такой "маленький", как Larceny, но у него очень агрессивный компилятор оптимизации.)

Ответ 11

Если вы просто программируете хобби, у LispWorks есть бесплатная личная версия, которая достаточно мощная и сложная. Самая большая проблема - это срок выполнения нескольких часов. Таким образом, вы не будете писать в нем длинные серверы, но это не значит, что это не полезный инструмент.

CLISP работает на большинстве всего, и на самом деле довольно приятно, он просто не выполняет потоки. (Важно, если вы хотите написать фактический сервер, но, как показали нам PHP и Perl, Apache + [язык вставки] является очень жизнеспособной платформой.)

Ответ 13

Я задавал себе тот же вопрос в последнее время. Используя DrScheme на OS X, это был бы мой первый выбор распределения Scheme для любой платформы. Очень приятная IDE, функции отладки и хороший набор библиотек/фреймворков (в том числе очень хороший набор инструментов GUI, который "работает... даже на Mac";-))

Однако теперь я ищу удобную среду для Common Lisp. Это сводилось к CCL (OpenMCL) по сравнению с SBCL. SBCL, по-видимому, является популярным выбором, но я читал, что на OS X нет поддержки потоков. (Это действительно проблема?). Clozure CL, с другой стороны, может похвастаться хорошей поддержкой собственных потоков, obcj-bridge и т.д.

Я нахожу CCL немного странным, но я собираюсь придерживаться его некоторое время - он по-прежнему выглядит логичным выбором для интеграции.

Я использую Emacs 23 (построен из источника с использованием --with-ns) и Slime в качестве среды, и это хорошо работает для меня.: -)

Ответ 14

Я обнаружил, что Chicken хорошо работает для Схемы и доступен через доморощенного.

brew install chicken

Большая часть кода из SICP работает с незначительными изменениями.