Practical Common Lisp(一)运行环境emacs+slime+sbcl 与 编译运行

Practical Common Lisp(一)运行环境emacs+slime+sbcl 与 编译运行

最近《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该文件

你可能感兴趣的:(Practical Common Lisp(一)运行环境emacs+slime+sbcl 与 编译运行)