你们使用的是什么 Common Lisp 环境?我刚从 Peter Seibel 的 Practical Common Lisp 一书开始(它也可以在 http://www.gigamonkeys.com/book/ 在线免费阅读),并且推荐在 Lisp in a Box (http://common-lisp.net/project/lispbox/) 一书中。
但是,它自 2011 年以来一直没有更新,并且分发的 Emacs 版本相当旧(23.2.1)。因此,我使用 http://emacsformacosx.com 提供的发行版将 Emacs 版本更新为 24.3.1。 .这个有更好的 Mac OS X 集成。
要更新 Emacs 版本,请按以下步骤操作:
- 下载并安装 lispbox 0.7
- 下载适用于 Mac OSX 24.3.1 的 Emacs
- 在 lispbox-0.7 中,我将 Emacs.app 重命名为 Emacs.old.app
- 将 Emacs for Mac OS X 分发版中的 Emacs.app 复制到 lispbox-0.7/
- 将 Emacs.app.old/MacOSX/lispbox.sh 复制到 Emacs.app/MacOSX 提示:如果您使用的是 Finder,请选择“显示包”内容'
- 复制 Emacs.old.app/Resources/site-lisp/lispbox.el 到 Emacs.app/Resources/site-lisp 7.然后编辑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))'
然后你可以通过执行 lispbox.sh 来启动带有 Lisp 环境的 Emacs
请注意,我更改了编辑器并删除了 --no-init-file 选项以确保正在读取 ~/.emacs。为了仍然能够使用 Lisp in a Box 提供的 Emacs 版本,您可以编辑 Emacs.app/Contents/MacOS/lispbox.sh 以使用 *Emacs .old.app/Contents/MacOS/Emac*s
但是,这就是我在 Mac 上设置 Common Lisp 环境的方式。我想知道是否有不那么繁琐的方法。
最佳答案
这里是如何使用目前可用的最新二进制文件从头开始设置包含 Emacs、SBCL 和 SLIME 的环境。
从 http://emacsformacosx.com 安装 Emacs (Emacs 版本 24.3)
从 http://www.sbcl.org/platform-table.html 安装 SBCL 1.1.8在您选择的目录中(例如
~/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
从 http://www.quicklisp.org/beta/ 安装 Quicklisp ,然后使用 Quicklisp 安装 SLIME
$ 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 并使用
M-x slime
调用 SLIME
关于macos - 在 Mac 上使用什么 Common Lisp 环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25662596/