最近《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 閱讀(7967)
評論(4) 編輯 收藏 引用 所屬分類:
Lisp