LINUX.ORG.RU

Как работать с LISP в Emacs?

 , , , ,


0

1

Возникло желание попробовать программирование на LISP. Но я никак не могу понять - вот открыл я два буфера, в одном код на LISP, а в другом - пока что ничего. Что нужно в тот другой буфер ввести, чтобы работать с LISP-ом. Что нужно установить? Извиняюсь, если это тупой вопрос.


Установи slime (в *emacs-dir*/site-lisp/slime/) простым копированием, пропиши автозагрузку slime в файл .emacs:

(require 'slime)
(slime-setup '(slime-scratch slime-fancy slime-asdf slime-references))

- в одном буфере редактор, во втором slime. Азы работы - 2-я глава PCL.

alienclaster
()

Для начала советую установить LispWorks Personal Edition. Там все просто и понятно. Потом можно и emacs попробовать со slime.

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

LispWorks Personal Edition

Ну зачем же людей сразу к проприетари приучать? :) Тем более, что в мире лиспа, в отличие от многих других областей, есть более чем серьезные свободные реализации, достаточно простые для освоения.

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

Просто мне очень нравится LW. Установил, и все работает. Интерфейс минималистический и очень приятный. Все по делу. Удобные кнопки компиляции, инкрементальной компиляции, макроэкспенда. Всегда под рукой REPL (он там Listener). Хороший отладчик и профайлер. Только последним мало пользовался.

Emacs+slime тоже хорошая вещь. Особенно мне нравится такая фича, как удаленный сеанс REPL. Но только LW все же будет проще, особенно для новичка.

dave
()

Возможно после таких вопросов, тебе стоит удалить емакс и никогда не прикосаться к лиспу ;]

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

Спасибо

Я, по-привычке пытался найти slime в репозитории fedora. Как оказалось, его нужно просто скачать было :) и скопировать. Именно по этой книжке я и решил изучить LISP. Эти настройки не помогли, но там был readme. Там:

    (add-to-list 'load-path "~/.emacs.d/site-lisp/slime/")  ; директория установки slima-а
    (setq inferior-lisp-program "/bin/clisp") ; бинарный файл Common Lisp
    (require 'slime) ; подключение slime
    (slime-setup) ; не знаю, для чего, выдало nil, но и без этого работает
Но возникает вопрос: мне, для подключения файла, необходимо при каждом запуске M-x (load «~/test.lisp»). Возможно ли автоматически подключать открытый файл?

wwju
() автор топика
Ответ на: комментарий от alienclaster

Не понял

программирование на LISP

Я, извиняюсь, не понял - почему меня троллем посчитают из-за использования этого сочетания?

wwju
() автор топика
Ответ на: комментарий от grouzen

Не будьте столь пессимистичны :)

wwju
() автор топика
Ответ на: комментарий от buddhist

Ясно

Заблуждался. Исправлюсь. (Lisp) (Lisp) (Lisp) (Lisp) (Lisp):)

wwju
() автор топика
Ответ на: комментарий от grouzen

прикосаться

Возможно, после таких постов тебе следует убить своего учителя русского языка и не произносить больше ни слова :)

buddhist ☕☕☕☕
()

Не все работает так, как нужно

Возможно дело в (slime-setup). Как я уже писал выше, при запуске выдает nil Пункт меню slime появился в emacs. Но доступны лишь немногие комманды. Что я сделал не так?

wwju
() автор топика
Ответ на: Спасибо от wwju

(setq inferior-lisp-program «/bin/clisp»)

Установи лучше sbcl или clozurecl

(slime-setup) ; не знаю, для чего, выдало nil, но и без этого работает

Чтобы slime настроить, настройки привел выше

Возможно ли автоматически подключать открытый файл?

Не понял, в чем вопрос. M-x slime.

alienclaster
()
Ответ на: Спасибо от wwju

У меня на винде такая концовка вместо последних твоих двух строчек:

(setq common-lisp-hyperspec-root "file://C:/Program Files/LispWorks Personal/lib/6-0-0-0/manual/online/web/CLHS/")
(require 'slime)
(slime-setup '(slime-fancy))

Первая подключает документацию по Common Lisp. Последняя, на сколько понимаю, вводит отдельный буфер для REPL. По-моему без этой команды REPL иногда смешивается с другим буфером interior-lisp.

Да, на линуксах у меня примерно так же настроено.

dave
()
Последнее исправление: dave (всего исправлений: 1)
Ответ на: комментарий от buddhist

есть более чем серьезные свободные реализации, достаточно простые для освоения.

Специалист тем и отличается от нуба, что даже в полном хаосе находит простоту и ясность.

ados
()

А вообще, ТС, персонально для тебя сделали плашку в самом начале страницы.

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