2014-09-04 2 views
2

Что общего в среде Lisp вы используете люди? Я только начинаю с книги «Практический общий Лисп» Питера Сейбеля (он также доступен для чтения в Интернете по адресу http://www.gigamonkeys.com/book/), а в книге «Лисп в ящике» (http://common-lisp.net/project/lispbox/) рекомендуется.Какая общая среда Lisp для использования на Mac?

Тем не менее, он не обновлялся с 2011 года, а версия Emacs распространяется довольно давно (23.2.1). Поэтому я обновил версию Emacs до 24.3.1 с помощью дистрибутива, предоставленного по адресу http://emacsformacosx.com. У этого есть лучшая интеграция Mac OS X.

Чтобы обновить версию Emacs выполните следующие действия:

  1. Скачать и установить lispbox 0,7
  2. Скачать Emacs для Mac OSX 24.3.1
  3. В lispbox-0,7 переименовать Emacs .app до Emacs.old.app
  4. Копия Emacs.app из Emacs для Mac OS X дистрибутив lispbox-0,7/
  5. Copy Emacs.app.old/MacOSX/lispbox.sh к Emacs.app/MacOSXСовет: если вы используете Finder, выберите «Показать содержимое пакета»
  6. Копия Emacs.old.app/Resources/site-lisp/lispbox.el в Emacs.app/Resources/site-lisp 7.Then редактировать Emacs.app/Contents/MacOS/lispbox.sh как показано ниже

lispbox.sh

#!/bin/bash 
if [ "${0:0:2}" = "./" ]; then 
    export LISPBOX_HOME=`pwd`/../../.. 
else 
    export LISPBOX_HOME=`dirname $0`/../../.. 
fi 
export SBCL_HOME=${LISPBOX_HOME}/sbcl-1.0.42/lib/sbcl 
#exec ${LISPBOX_HOME}/Emacs.app/Contents/MacOS/Emacs --no-init-file --no-site-file --eval='(progn (load "lispbox") (slime))' 
exec ${LISPBOX_HOME}/Emacs.app/Contents/MacOS/Emacs-10.7 --no-site-file --eval='(progn (load "lispbox") (slime))' 

Затем вы можете запустить Emacs с Lisp окружающей среды путем выполнения lispbox.sh

Обратите внимание, что я изменил редактор и я удалил --no-init-file опция, чтобы убедиться, что ~/.emacs читается. Чтобы все еще иметь возможность использовать с Lisp в коробке -provided версия Emacs вы можете редактировать Emacs.app/Contents/MacOS/lispbox.sh использовать * Emacs.old.app/Содержание/MacOS/Emac * s

Однако, так я создал среду Common Lisp на своем Mac. Мне интересно, есть ли менее громоздкие пути.

+1

Рекомендованные инструменты не относятся к теме в stackoverflow. В любом случае, вы можете бесплатно скачать Clozure CL из Mac App Store от Apple. Отличным, но дорогостоящим вариантом является LispWorks. –

+0

** «Вопросы, предлагающие нам рекомендовать или находить книгу, инструмент, библиотеку программного обеспечения, учебник или другой ресурс вне сайта, не соответствуют теме« Переполнение стека », поскольку они склонны привлекать упрямые ответы и спам. Вместо этого опишите проблему и что было сделано до сих пор, чтобы решить эту проблему ». ** –

+0

« Мне интересно, есть ли менее громоздкие пути ». Большинство Lisps не очень сложно установить, но получение IDE для них немного сложнее. В LispWorks есть хорошая IDE и доступна в Personal Edition. CCL может иметь Mac IDE. Я не уверен, но я думаю, что у Allegro есть IDE на X11, которую вы можете использовать на OSX. Для других вещей (или для тех) вы также можете использовать SLIME в Emacs. –

ответ

6

Вот как настроить среду с Emacs, SBCL и SLIME с нуля, используя в настоящее время самые последние доступные файлы.

  • Установка Emacs из http://emacsformacosx.com (Emacs версии 24.3)

  • Установка SBCL 1.1.8 из http://www.sbcl.org/platform-table.html в директории по вашему выбору (например,~/sbcl/)

    $ tar xjvf sbcl-1.1.8-x86-64-darwin-binary.tar.bz2 
    $ cd sbcl-1.1.8-x86-64-darwin 
    $ INSTALL_ROOT=~/sbcl/ sh install.sh 
    
  • Установка Quicklisp из http://www.quicklisp.org/beta/, а затем установить SLIME с помощью Quicklisp

    $ curl -O http://beta.quicklisp.org/quicklisp.lisp 
    $ SBCL_HOME=~/sbcl/lib/sbcl ~/sbcl/bin/sbcl --load quicklisp.lisp # launch SBCL 
    * (quicklisp-quickstart:install) ; complete Quicklisp installation 
    * (ql:quickload "quicklisp-slime-helper") ; install SLIME 
    * (ql:add-to-init-file) ; to load Quicklisp every time SBCL is started 
    * (quit) 
    
  • Создать ~/.emacs с этими линиями в нем

    (setenv "SBCL_HOME" (expand-file-name "~/sbcl/lib/sbcl")) 
    (setq inferior-lisp-program "~/sbcl/bin/sbcl") 
    (load (expand-file-name "~/quicklisp/slime-helper.el")) 
    
  • запуска Emacs и вызывать SLIME с помощью M-x slime

Смежные вопросы