Выполнение программ LISP в GNU Emacs

В последнее время я учился использовать GNU Emacs и довольно заинтересовался использованием того же текстового редактора, что и мой текстовый редактор, для замены текстовых редакторов в моей Linux Mint Olivia. Я также смотрел видеоролики Массачусетского технологического института о структурной интерпретации компьютерных программ, и мне интересно попробовать свои силы в LISP для решения проблем, подобных тем, которые существуют в проекте Euler. Я много пытался найти в Интернете, как писать и выполнять программы LISP в Emacs, некоторые из них похожи на те, которые показаны в лекциях MIT. Я пробовал «режим-лисп», «режим-взаимодействия-лисп» и т. Д., Но безуспешно.

Любая помощь будет высоко оценена.


person myTerminal    schedule 10.12.2013    source источник
comment
используйте SLIME для выполнения программ во внешнем процессе Lisp через буфер Emacs.   -  person Barmar    schedule 10.12.2013
comment
SICP находится в Scheme, который действительно является разновидностью Lisp, но сильно отличается от Emacs Lisp или Common Lisp. Убедитесь, что найденное вами решение поддерживает именно схему.   -  person echristopherson    schedule 11.12.2013
comment
Я пробовал gnu.org/software/mit-scheme, и он отлично работает просто это отдельная программа.   -  person myTerminal    schedule 15.12.2013


Ответы (3)


Если вы ищете способ REPL, вы можете использовать M-x ielm, который является встроенным в Emacs Lisp REPL.

Если вы хотите просто скомпилировать файл lisp и выполнить код, вы можете проверить эту проблему, которую я недавно спросил.

person Rangi Lin    schedule 10.12.2013

Я установил режим Quack для emacs (аналог DrRacket) для работы с HtDP / SICP. Он работал и выглядел лучше, чем графический интерфейс DrRacket.

person kbshimmyo    schedule 13.12.2013
comment
Я загрузил Quack, создал свой файл .macs и загрузил плагин. Меню Quack теперь отображается в строке меню emacs. Теперь, когда я выбираю для запуска схему, меня спрашивают о буфере схемы и т. Д. Есть указатели? - person myTerminal; 15.12.2013
comment
Хммм ... не из личного опыта. Я использую emacs только через терминал. Что конкретно спрашивается? - person kbshimmyo; 17.12.2013
comment
Он спрашивает меня, с какой схемой его запускать (по умолчанию: mzscheme). В более поздних попытках он говорит: «Нет текущего буфера процесса». Установите «scheme-buffer» или выполните «run-scheme». - person myTerminal; 18.12.2013
comment
Он не использует Emacs для Лиспа, он хочет, чтобы с ним взаимодействовал внешний интерпретатор схемы. - person tripleee; 24.12.2013