问题 在我的linux机器上安装lisp


我用Vim作为我的编辑。 “实用的常见Lisp”建议安装Lispbox,我不知道如何使用emacs,不知道如何使用该TT运行lisp代码之后我找到了vim的lisp插件,名为limp.vim,带有长而硬的安装指令:(( 最后我安装了“Clisp”,我可以用一个简单的命令运行lisp代码:

clisp ~/test.lisp

但是如何编译呢? lisp是编译语言吗?对不起,我只是什么都不知道,我是lisp的新手

任何人都能告诉我在linux上安装lisp到底需要什么?什么是SLIME,sbcl,..等等?


1761
2017-07-01 10:35


起源



答案:


安装并学习以下内容:

  • SBCL编译器

从中安装二进制文件 http://www.sbcl.org/platform-table.html 一旦你习惯了它,从源代码编译并保持源代码。这样您就可以轻松跳转到M-的SBCL函数的定义。在Emacs。

  • Emacs的

观看此截屏视频,看看有人实现了光线跟踪器 Common Lisp中的光线跟踪器

这是新的包管理。当我开始它不存在。现在我们有它,你应该使用它。它使事情变得容易多了。 运行'sbcl --load quicklisp.lisp'然后输入(quicklisp-quickstart:install)按enter 然后运行(ql:add-to-init-file)

  • SLIME在Emacs中运行。

    尝试使用quicklisp安装它。阅读其手册并找出要写入.emacs文件的内容,以便在打开lisp文件时自动启动。可选择观看截屏视频。

  • Paredit

说真的,你必须要学习(即使光线追踪截屏视频中的人没有使用它)。你应该从(,这将产生两个括号。使用M-(你可以包含一个现有的s表达式.C-k切割光标后面的s-expression,用C-y你可以将它插入任何地方。

  • ASDF

这是lisp的制作。您应该学习如何在ASDF文件中定义系统。

  • 参考

我打印了这本小册子 clqr。它非常简洁。


6
2017-07-01 13:37





可以编译Lisp,但这不是“必然”。 Clisp只是在Linux上运行的一个Lisp。 SBCL是另一个。 SLIME是Emacs的界面,可以说Linux上的所有Lisps。 你可以使用Slime与SBCL,CLisp,Lispworks和Franz Common Lisp。 你甚至可以通过使用Emacs来学习很多Lisp。它有自己的Lisp方言Elisp,但您也可以使用Common Lisp兼容库。

Emacs可能是Common Lisp的首选IDE,因为它使用了内部Lisp。

如果您想安装一个软件,您应该检查LispWorks(http://www.lispworks.com)或Franz Common Lisp http://www.franz.com 


6
2017-07-01 10:41





任何人都能告诉我在linux上安装lisp到底需要什么?

其他答案描述了SLIME,sbcl等。但我想简单回答一下。

要在Ubuntu上安装clisp,只需运行即可 sudo apt-get install clisp。运行Lisp不需要任何其他东西。对于其他发行版,请在相关的包管理器上找到clisp。但是不要惊讶于在某些发行版上找不到clisp,例如Amazon Linux AMI似乎没有clisp。 clisp ~/test.lisp 是你运行Lisp所需要的。

如今使用SLIME和ASDF更受欢迎。作为初学者,您还不需要使用它们。 SLIME是Lisp的花哨编辑器,ASDF是一个包管理器。设置Clisp要容易得多,因为它只需要安装一行就可以运行一行。 SLIME和ASDF更加投入,需要更多时间来学习和设置。我个人建议首先使用Clisp,然后才开始使用SLIME和ASDF,以便更好地理解Lisp,这将使得使用SLIME和ASDF变得更加容易。准备好后,我建议您阅读SLIME和ASDF的文档。


1
2017-08-28 03:05





您可以使用您习惯使用的其他语言的惯用语(编辑,编译,运行)来学习lisp。从长远来看,lisp提供了其他选择,您可能会喜欢这些选择。

只要Vim在你输入时会平衡(),它就拥有你在编辑器中真正需要的唯一功能。

最终,你可能会选择调查SLIME(需要emacs),但它肯定没有必要开始。

您可以选择任何“Common Lisp”实现(其中clisp似乎是您已有的实现)。有些将编译为独立的二进制文件(因为您可能习惯于使用C之类的工具链),但大多数将依赖于lisp附带的运行时,即使编译.lisp文件(类似于Java,Python等)。

你可以查找'编译文件'在你的lisp文档中,看看如何编译.lisp文件。 Common Lisp包含语言运行时中的编译器。


0
2017-07-03 11:25