Интерпретатор Lisp / Scheme без Emacs?

Я давно хотел научиться Лисп. Однако все интерпретаторы, о которых я слышал, используют некоторые разновидности emacs. Есть ли какие-нибудь интерпретаторы командной строки, чтобы я мог ввести это в командную строку:

lispinterpret sourcefile.lisp

точно так же, как я могу запускать perl или python.

Хотя я также хотел бы поближе познакомиться с Emacs (хотя бы для того, чтобы не расстраиваться, когда я работаю с кем-то, кто использует Emacs), я бы предпочел отделить изучение Emacs от изучения Lisp.

Изменить: я действительно хочу следовать SICP, который использует схему, поэтому ответ о схеме был бы более полезным. Я просто не очень хорошо разбираюсь в различиях.


person Nathan Fellman    schedule 13.08.2008    source источник


Ответы (12)


Вы также можете попробовать DrScheme, который, хотя и не совсем автономный интерпретатор, не является emacs :)

По сути, это простая среда IDE, в которой есть область для ввода кода, который может быть выполнен как файл, а затем еще одна область, которая представляет собой работающий интерпретатор, с которым вы можете взаимодействовать.

(Также найдите подкасты UC Berkeley CS61A и послушайте их, а также прочтите SICP)

person Matthew Schinckel    schedule 13.08.2008

Похоже, Steel Bank Common Lisp (SBCL) также обслуживает то, что вы хотите:

http://www.sbcl.org/manual/#Shebang-Scripts

SBCL является одновременно высококлассным и открытым исходным кодом.

person John with waffle    schedule 13.08.2008

Оформить заказ CLISP вики-ссылкой, которая т. Е. был использован Полом Грэмом

Прямая ссылка

person epatel    schedule 13.08.2008
comment
clisp особенно хорош для интерактивного использования при компиляции с поддержкой ncurses (стиль Bash с завершением TAB), получение документации из hyperspec и т. д. - person dsm; 20.09.2008
comment
Если с ie. вы имеете в виду, т.е .: это говорит id est (на английском: то есть). Я думаю, вы хотите сказать, например, (Примеры = например). - person Svante; 24.11.2008

Я часто пишу сценарии оболочки lisp, которые начинаются с этой строки:

#! / usr / bin / clisp

Тогда вам даже не нужно вводить «lispinterpret» в командной строке. Просто отметьте исполняемый файл скрипта и запустите его напрямую.

person fdesmet    schedule 15.09.2008

Большинство знакомых мне интерпретаторов схем можно запускать из командной строки. (Большая часть приведенного ниже списка взята из сравнительной таблицы в Варианты реализации схемы Алексея Радула. Более подробный список можно найти на странице schemewiki, но это page не сразу предоставляет синтаксис вызова командной строки.)

Вот как вы запускаете несколько реализаций из командной строки:

person pnkfelix    schedule 06.02.2013
comment
Иногда в этих ответах очень плохо редактируется строка. Нажатие стрелки влево и получение ^ [[D ужасно. В этих случаях вы можете использовать rlwrap, который обертывает программу с поддержкой строки чтения (запускайте ее с rlwrap <commandrepl>). Ваши настройки readline (файл ~ / .inputrc) вступят в силу, так что вы даже можете использовать режим vi readline, если хотите. - person spelufo; 30.07.2015

Если вы ищете схему для работы с SICP, взгляните на схему MIT / GNU.

http://groups.csail.mit.edu/mac/projects/scheme/

http://www.gnu.org/software/mit-scheme/index.html

person crashmstr    schedule 10.10.2008
comment
Схема MIT / GNU использует интерпретатор, очень похожий на Emacs. - person Ceasar Bautista; 08.09.2011
comment
Включенный редактор Edwin похож на Emacs, а REPL имеет некоторые команды, подобные Emacs, для прерывание, но это еще не все. С помощью MIT-Scheme он мог изучить Scheme, не изучая Emacs. - person crashmstr; 08.09.2011

Наиболее широко используемой IDE для Common Lisp, особенно в подмножестве бесплатного программного обеспечения сообщества, на самом деле является SLIME., который работает в Emacs. Вы можете использовать любой компилятор CL, который вам нравится, и вызывать исходные файлы Lisp описанным вами способом, но если вы это сделаете, вы не сможете воспользоваться преимуществами многих динамических функций Lisp, которые так невероятно полезны при разработке вашего приложения.

Предлагаю вам взглянуть на это демонстрационное видео SLIME, чтобы узнать, что Я имею в виду, даже если это может быть немного устаревшим на данный момент.

Если проблема в том, что вы (думаете, что) не любите Emacs, я серьезно предлагаю вам попробовать его изучить. Шутки в сторону. Нет, правда, я это имел в виду. Однако есть альтернативы, такие как IDE, предоставляемые коммерческими реализациями Lisp, такими как Allegro и Lispworks (доступны бесплатные пробные версии) или подключаемый модуль Eclipse под названием Cusp.

person Luís Oliveira    schedule 27.08.2008

Вы пробовали Allegro CL с сайта http://www.franz.com/?

person kokos    schedule 13.08.2008
comment
@crashmstr: У Allegro есть бесплатная пробная версия, которой должно хватить, если вы хотите выучить этот язык. - person Pillsy; 17.09.2009

@Nathan: Я обновил ссылки Common Lisp, потому что вы спрашивали о Lisp (особенно в отношении Emacs Lisp). Однако Common Lisp сильно отличается от Scheme. Программа, написанная для одного, вряд ли будет работать на другом.

Как вы упомянули, SICP предназначен для изучения Scheme, а не Lisp (или, по крайней мере, не Common Lisp и не Emacs Lisp). Есть некоторое совпадение в принципах, однако вы не можете просто скопировать и вставить код из SICP и ожидать, что он будет работать в любой системе Common Lisp или Emacs Lisp. :-)

person Chris Jester-Young    schedule 14.08.2008

Никакой "интерпретатор" не требует emacs.

Кроме того, emacs может запускать elisp без головы.

person Marcin    schedule 10.10.2008

Кажется, что оболочка схемы подходит для ваших целей. Взгляните на http://www.scsh.net/index.html

person fincomus    schedule 24.11.2008

Еще один хороший диалект лиспа - cmucl. Раньше они любили хвастаться, что они «самые быстрые».

person Dave Kasper    schedule 14.08.2008