在我的Linux机器上安装Lisp

14

我使用Vim作为我的编辑器。《实用通俗Lisp》建议安装Lispbox,但我不知道如何使用Emacs,也不知道如何用它运行Lisp代码,所以我找到了一个针对Vim的Lisp插件,叫做limp.vim,但是安装说明很长而且很难 :( 最后我安装了"Clisp",现在我可以用一个简单的命令来运行Lisp代码了:

clisp ~/test.lisp

但是如何编译它呢?Lisp是一种编译语言吗?抱歉,我什么也不懂,我是Lisp的新手。

有人能告诉我在Linux上安装Lisp需要安装什么吗?SLIME、SBCL等是什么?

4个回答

10
Lisp可以进行编译,但这并非"必须"。Clisp是在Linux上运行的Lisp之一。SBCL是另一个。而SLIME是从Emacs到所有Linux上的Lisps的接口。
您可以使用Slime与SBCL、CLisp、Lispworks和Franz Common Lisp。甚至可以通过使用Emacs来学习大部分Lisp。它有自己的Lisp方言Elisp,但您也可以使用通用Lisp兼容性库。
Emacs可能是Common Lisp的首选IDE,因为它使用了内部Lisp。
如果您想要安装一个软件,请检查LispWorksAllegro Common Lisp(以前是Franz Common Lisp)。

10

安装并学习以下内容:

  • SBCL编译器

http://www.sbcl.org/platform-table.html下载二进制文件安装。一旦熟悉了它,可以从源代码编译并保留源代码。这样可以通过Emacs中的M-.轻松跳转到SBCL函数的定义。

  • Emacs

观看此录屏以查看如何在Common Lisp中实现光线追踪Raytracer in Common Lisp

这是新的包管理工具。当我开始学习时还没有这个工具。现在我们有了它,你应该使用它。这会使事情变得更加容易。 运行 'sbcl --load quicklisp.lisp',然后输入 (quicklisp-quickstart:install) 并按回车, 然后运行 (ql:add-to-init-file)

  • SLIME在Emacs中运行。

    尝试使用quicklisp安装它。阅读其手册并找出应该写入.emacs文件中的内容,以便在打开LISP文件时自动启动。也可以选择观看一些录屏。

  • Paredit

认真学习它(即使在光线追踪录屏中的那个人没有使用它)。你应该从 ( 开始,这会生成两个括号。用M-(可以封闭一个现有的s表达式。C-k剪切光标后面的s表达式,用C-y可以在任何地方插入它。

  • ASDF

这是Lisp中的make工具。你应该学习如何在ASDF文件中定义系统。

  • 参考资料
我印制了这本小册子,Common Lisp 快速参考。它非常简明。

3
有人能告诉我在Linux上安装Lisp需要什么?其他的回答已经介绍了SLIME,sbcl等是什么,但我想给出简明的回答。要在Ubuntu安装Clisp,只需运行“sudo apt-get install clisp”。没有必要安装其他内容来运行Lisp。对于其他发行版,请在其相关软件包管理器中找到Clisp。但是,在某些发行版中,例如Amazon Linux AMI上似乎没有Clisp,不要感到惊讶。运行“clisp ~/test.lisp”即可运行Lisp。现在更流行使用SLIME和ASDF。作为初学者,您还不需要使用它们。SLIME是Lisp的高级编辑器,而ASDF是软件包管理器。由于只需一行命令即可安装和运行Clisp,因此设置Clisp要容易得多。SLIME和ASDF则更复杂,需要更多时间来学习和设置。我个人建议先使用Clisp入门,然后再使用SLIME和ASDF,这样您将更好地理解Lisp,从而更轻松地使用SLIME和ASDF。准备好了以后,我建议阅读SLIME和ASDF的文档。

Clisp 已经不存在了。请参见:Debian 库中没有 clisp - Elliptical view

2
您可以使用其他语言常用的习惯(编辑、编译、运行)来学习 LISP。长远来看,LISP 提供了其它选择,您可能会更喜欢它们。
只要 Vim 在你输入时平衡 (),它就是你编辑器中真正需要的唯一功能。
最终,您可能会选择研究 SLIME(需要emacs),但这并不是开始的必要条件。
您可以选择任何“Common Lisp”实现(其中 clisp 是您已经拥有的一个)。一些实现将编译为独立的二进制文件(与 C 类型的工具链类似),但大多数将依赖于 LISP 附带的运行时环境,即使 .lisp 文件已被编译 (类似于Java、Python等)。
您可以在您的 LISP 文档中查找 'compile-file',以了解如何编译 .lisp 文件。Common Lisp 包含语言运行时中的编译器。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接