随笔-19  评论-21  文章-0  trackbacks-0

最近《hackers & painters》学到的印象最深的一点是:lisp比你想像中的还强大,用lisp吧!

1. 安装运行环境

a. 下载emacs,解压即可。

b. 下载slime,解压即可

c. 下载sbcl,安装

d. 配置emacs

       首先需要确定emacs会加载哪里的.emacs配置文件(即emacs的HOME目录为什么),可以通过改注册表(新添注册表项HKEY_CURRENT_USER\Software\GNU\Emacs(新建一个GNU项,然后在GNU项下新建一个子项Emacs),新增一个项HOME,设置其字符串值为emacs解压后的目录)

       在emacs解压后的目录中,新建一个.emacs文件,添加如下几行:

;for lisp mode
(add-to-list 'load-path "D:\\slime\\") ; 注:在windows下路径分隔符为\\而不是\,否则会被解释为 D:slime, 或者改成另外一种写法 D:/slime
(setq inferior-lisp-program "D:\\SteelBankCommonLisp\\sbcl.exe")   ;注:如果此处路径有空格,在M-x slime时会出现问题:apply: Spawning child process: invalid argument
;(setq inferior-lisp-program "D:\\clisp-2.49\\clisp.exe") 
(require 'slime-autoloads)   ;注意这里加载的是 slime-autoloads,而不是 slime,要不然C-c C-c等很多功能都没有
(slime-setup '(slime-fancy))
;(slime-setup)

2. 编译运行

如果要进入用户交互界面,输入 M-x slime即可

如果要编译lisp文件里的函数:a. 只编译某个函数,可以将光标放在该函数上,然后按C-c C-c

The easiest is to type C-c C-c with the cursor anywhere in or immediately after the DEFUN form, which runs the command slime-compile-defun, which in turn sends the definition to Lisp to be evaluated and compiled.

b. C-c C-c只能编译单个函数,如果文件内一些函数有关联,则这种方式就不好用了,此时可以编译整个文件

   (load  “lisp_file”)

c. load 某个文件后,如果又修改了该文件中的某个函数,则可以再用C-c C-c编译该函数而不需要重新load该文件

posted on 2010-10-01 22:03 hex108 阅读(7910) 评论(4)  编辑 收藏 引用 所属分类: Lisp

评论:
# re: Practical Common Lisp(一)运行环境emacs+slime+sbcl 与 编译运行 2011-06-18 23:31 | makao
文章写得太好了,谢谢!  回复  更多评论
  
# re: Practical Common Lisp(一)运行环境emacs+slime+sbcl 与 编译运行 2013-04-27 13:46 | scinart
写的太好的了。一次就装成了。  回复  更多评论
  
# re: Practical Common Lisp(一)运行环境emacs+slime+sbcl 与 编译运行 2013-11-01 00:40 | venidici
编译整个文件可以用 C-c C-k  回复  更多评论
  
# re: Practical Common Lisp(一)运行环境emacs+slime+sbcl 与 编译运行 2015-01-18 14:27 | Rainbow Lu
正在搭建环境,我是mac,用port一样可以。  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理