安装 SBCL(Steel Bank Common Lisp)

SBCL是Lisp的解释器,用于解释执行 Lisp 程序。

SBCL的官方网站:http://www.sbcl.org/

SBCL 支持几乎所有常见的系统,根据自己的系统版本下载对应的系统版本即可。

在该网页可以找到对应版本的下载地址:http://www.sbcl.org/platform-table.html

对于 AMD64 架构 Linux,下载成功后会得到以下文件:sbcl-2.2.5-x86-64-linux-binary.tar.bz2

使用以下命令解压:

tar -jxvf sbcl-2.2.5-x86-64-linux-binary.tar.bz2

使用以下命令安装(需要根权限)

cd sbcl-2.2.5-x86-64-linux
sudo sh install.sh

运行 hello world

解释器执行

下面是在解释器中执行 lisp 代码。

$ sbcl
* (format t "hello world")
hello world
NIL
* (exit)

执行 lisp 文件

在解释器中执行代码往往不是很方便,我们可以将其保存到一个 lisp 文件中。例如将以下代码写入 hello.lisp,然后交由 sbcl 执行。

(format t "Hello world")

首先打开 sbcl ,使用 load 运行 hello.lisp,相当于根据文件中出现的顺序,从前往后依次输入每一个表达式。

$ sbcl
* (load "hello.lisp")
Hello world
T
* (exit)

编译执行

sbcl 也支持先编译再执行,一个 lisp 文件,编译后变成一个 fast 文件,也叫做快速加载文件(fast-load file)。

使用以下命令生成 fast 文件,同时它也会执行文件内容。

* (load (compile-file "hello.lisp"))
; compiling file "/home/kali/lispwork/hello.lisp" (written 13 JUN 2022 09:19:03 PM):; wrote /home/kali/lispwork/hello.fasl
; compilation finished in 0:00:00.000
Hello world
T

使用以下命令运行编译后的 fast 文件。

* (load "hello.fasl")
Hello world
T

安装 emacs

emacs不仅是一款强大的文本编辑器, 还是一款 lisp 开发神器。

在 debian 系统下,使用以下命令安装 emacs。

sudo apt-get update
sudo apt-get install emacs

Quicklisp

安装

Quicklisp是 Common Lisp 的库管理器。只需几个简单的命令即可下载、安装和加载超过 1,500 个库中的任何一个。

下载 quick lisp.lisp,下载地址:https://beta.quicklisp.org/quicklisp.lisp

在 sbcl 中加载执行该文件。

$ sbcl
* (load "quicklisp.lisp")

加载完成后,使用以下命令安装。

* (quicklisp-quickstart:install)

以上命令默认将 quicklisp 安装到家目录,若要安装在其它目录,可以传递:path "/target/path/"给 install 函数来改变它,如下所示。

* (quicklisp-quickstart:install :path "/target/path/")

最后,运行以下命令,这会将 Quicklisp 添加到您的 init 文件中,以便您在任何时候运行 SBCL Quicklisp 都会被加载并准备就绪。

(ql:add-to-init-file)

基本命令

加载库

使用以下命令加载库:

(ql:quickload system-name)

示例,如果本地不存在 vecto 库,它将会自动下载到本地 sbcl 环境中,默认情况下它会隐藏警告,使用以下参数:verbose t来显示完整的编译信息。

(ql:quickload "vecto")

删除库

使用以下删除库:

 (ql:uninstall system-name)

示例,删除 vecto 库:

(ql:uninstall "vecto")

搜索库

使用以下命令来搜索库:

(ql:system-apropos substring)

示例,它将会列出所有与 xml 相关的库。

(ql:system-apropos "xml")

更新库

(ql:update-dist "quicklisp")

更新 quicklisp 客户端

 (ql:update-client)

查看库依赖

(ql:who-depends-on system-name)

安装 slime

slime 是专门用于开发 lisp 程序的 emacs 模式。

使用以下命令安装和配置 slime。

(ql:quickload "quicklisp-slime-helper")

将以下内容加载到 ~/.emacs 中,这样当 emacs 启动的时候就会自动加载 slime。

(load (expand-file-name "~/quicklisp/slime-helper.el"))
;; Replace "sbcl" with the path to your implementation
(setq inferior-lisp-program "sbcl")

打开 emacs ,开启 slime

$ emacs

输入快捷键 Alt-x,然后输入 slime。就可以使用 slime 来开发 lisp 代码了。

; SLIME 2.27
CL-USER> (format t "Hello World")
Hello World
NIL
CL-USER>

参考

http://www.jonathanfischer.net/modern-common-lisp-on-linux/

Linux 安装 sbcl emacs slime 搭建 Lisp 开发环境相关推荐

  1. PX4-AutoPilot教程-0-使用VMware虚拟机安装Ubuntu系统并搭建PX4开发环境(ROS+mavros+jMAVSim+gazebo+QGC+QT)

    使用VMware虚拟机安装Ubuntu系统并搭建PX4开发环境 本教程使用VMware虚拟机安装Ubuntu18.04系统(官方推荐使用版本),搭建PX4固件版本为v1.9.2,飞控板为pixhawk ...

  2. 一天一点linux(9):ubuntu下如何搭建LAMP开发环境?

    功能介绍 上一次搭建Linux下LAMP环境是基于的CentOS6.7版本,采取的方式是源码编译安装,折腾了好久才在CentOS下,把LAMP环境给搭建起来,而Ubuntu作为现在主流的Linux版本 ...

  3. Ubuntu13.10下搭建emacs+sbcl+slime的lisp开发环境

    为什么80%的码农都做不了架构师?>>>    进入ubuntu软件中心 1.安装emacs24 2.安装sbcl 3.安装slime 打开emacs,按下alt+x,输入slime ...

  4. dlib 怎么安装vs2017_VS2017(Visual Studio2017) 搭建QT5开发环境

    VS创建QT工程并添加到GitHub中 大家好! 欢迎打开并阅读本文,这次咱们说说怎么在VS中创建一个QT项目并且放到GitHub中吧 因为GitHub或者码云Gitee都是一个很好的提供代码托管的地 ...

  5. Vscode下载安装使用教程_Vscode搭建Python开发环境_Vscode常用插件

    文章目录 1 下载 2 安装 3 搭建Python安装环境 4 推荐几款好用的插件 1 下载 官网 https://code.visualstudio.com/ 直接下载可能会很慢,所以我们用国内的镜 ...

  6. 虚拟机安装MAC系统、搭建ios开发环境

    MacOS系统资源,网盘下载:https://pan.baidu.com/s/1xRWusbgfIUxJxMpUbWWRag   提取码: 08fc 1.安装虚拟机 虚拟机下载: http://www ...

  7. python安装pyqt5第三方_搭建pyqt5开发环境(python3+pycharm2019+pyqt5)

    配置好后即可在pycharm中启动了PyQt5 Qt Designer用于像VC++的MFC一样拖放.设计控件 PyUIC用于将Qt Designer生成的.ui文件转换成.py文件 Qt Desig ...

  8. linux pip3使用清华源_Linux实战016:Ubuntu搭建python开发环境

    我们在安装Ubuntu系统的时候会自带安装python2.7和python3.6版本的Python解释器,直接执行"ptyhon"默认运行的是python2.7,只有执行" ...

  9. ubuntu下搭建android开发环境(四)核心篇安装AndroidStudio、sdk、jdk

    [置顶] ubuntu下搭建android开发环境(四)核心篇安装AndroidStudio.sdk.jdk(by 星空武哥) <div class="article_manage c ...

最新文章

  1. 这道「传说级」的数学题,为什么有 3 个正确答案?
  2. 人人都是 DBA(V)SQL Server 数据库文件
  3. 常用WebService一览表
  4. 栈(顺序存储)C++模板实现
  5. 【pyqt5】——入门级模板(ui文件+ui转py文件+逻辑py文件)(消息提示框)
  6. python格式化字符串漏洞_Python字符串格式化的方法(两种)
  7. Python爬虫学习round01
  8. HDU1010【走迷宫】Tempter of the Bone-------2015年1月26日
  9. LaTeX排版软件安装包及安装方法(texlive + TeXstudio)
  10. 软件测试——测试用例之场景法
  11. TCPDF微软雅黑字体
  12. 2021最新前端面试题
  13. 含指数函数的不定积分方法归纳
  14. win10动态壁纸怎么设置_技术贴,安卓手机如何设置类似iPhone的炫酷动态壁纸
  15. win2016开启ntp_WinServer 2016域控设置NTP服务器
  16. Databricks:打造数据国度的“金砖四国”
  17. 邮箱如何群发邮件,公司邮件群发教程
  18. SaaS是什么?企业采购SaaS有什么好处?
  19. python笔记---(实验二)
  20. Hexo(sakura)文章增添字数统计和阅读时长功能

热门文章

  1. Android开发中配置JDK环境的几种方式
  2. 计算机网络之数字签名、数字证书
  3. Xamarin.Android实现界面弹框
  4. 阿里云上安装FreeIPA(ipa-server ipa-client)
  5. 一个IBM人的离职泪:伟大公司,SB老板,苦逼员工
  6. VBA CreateObject 各种类型文件(transfer)
  7. android 强制更新流程图,AndroidUpdateDemo
  8. 上海通运推出上海至大阪/神户的高速轮渡货运服务“关西特快”
  9. Java架构直通车——大型网站的特点与设计宗旨
  10. js失焦事件,获焦事件,回车事件