Pages

Sunday, 23 October 2016

搭建lisp环境

1. SBCL的安装

SBCL: Common Lisp compiler and development system 安装sbcl很简单,不需要自己编译源码,一条命令搞定:
apt-get install sbcl
执行后,安装了1.3.3版本的sbcl

2. 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/

3. emacs安装

apt-get install emacs

4.配置

  • 首先,启动sbcl时,装载slime,找到swank-loader.lisp,然后写入~/.sbclrl(没有就新建一个,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
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的世界.