最近由于WIN由8至10升级时,破坏了原先双系统的分区,一时兴起,决定抛弃win和slackware,投奔kali 2.0(希望这个滚动发行版别跟arch一样,滚着滚着就出问题了)。
好了,现在转入正题,介绍下关于common lisp环境的搭建(备忘)。
1. SBCL的安装
SBCL: Common Lisp compiler and development system
kali2.0的安装sbcl很简单,不需要自己编译源码,一条命令搞定
apt-get install sbcl
执行后,安装了1.3.3版本的sbcl
2. emacs安装
apt-get install emacs
3. slime的安装
SLIME is the “Superior Lisp Interaction Mode for Emacs.”
apt-get install slime
当然,你也可以在github上clone它的项目。
备注:建议自己下载安装包,用apt-get安装的,在启动时候有很多警告。此处我下载了当前最后的发行版:slime-2.18,放置目录:/opt/slime-2.18/
4.配置
- 首先,启动sbcl时,装载slime,找到swank-loader.lisp,然后写入~/.sbclrc(没有就新建一个,sbcl启动前会执行它)
;;;; swank for emacs slime to connect
(load #P"/opt/slime-2.18/swank-loader.lisp")
(swank-loader:init)
(swank:create-server :port 4005 :dont-close t)
然后netstat检查下端口(这里是4005),显示已经启动。
- 配置emacs
;;;;slime configure
(add-to-list 'load-path "/opt/slime-2.18/")
(require 'slime)
(slime-setup '(slime-fancy slime-banner))
启动emacs,M-x => slime-connect => 127.0.0.1 => 4005,成功接入sbcl。
至此,基本环境搭建完毕。
(ps: 如果sbcl<server>和emacs<client>不在同一台机器上,最好用相同版本的slime,同时记得修改server端的slime:改变文件swank.lisp里的loopback-interface变量: 127.0.0.1 => 0.0.0.0)
5. 库管理器的安装
不过,还要介绍下lisp的包管理器quicklisp: library manager for Common Lisp
kali下的安装命令:
apt-get install cl-quicklisp
进入sbcl交互环境:
(load #p"/usr/share/cl-quicklisp/quicklisp.lisp")
(quicklisp-quickstart:install)
(ql:add-to-init-file)
quicklisp安装完成,以后每次启动sbcl时都会加载它。
最后,欢迎来到common lisp的世界!!!:-D