如何准备学习Lisp离线

时间:2014-02-21 13:34:06

标签: linux lisp common-lisp offline

明天我将去意大利旅行。我只会让我的笔记本电脑运行basicOS 32位。我很可能没有互联网连接。我决定,我想在那里度过我的空闲时间来学习Lisp。 我安装了emacs,sbcl和slime,但我不太确定sbcl是如何工作的,而且我担心如果我必须做一些更复杂的事情,我会需要网友的帮助,我不会在那里。 我还发现并下载了2本免费的lisp书籍 - Common Lisp - An Interactive ApproachCommon Lisp - A Gentle Introduction To Symbolic Computation。我希望这些就足够了。

我有C ++编程背景,但使用C ++对我来说看起来更简单 - 我们有标准定义编译器应该有什么,我们有很少使用的编译器(G ++,clang,MSVC ++),因为我知道如何编译,这对我来说不难。此外,对于初学者,有IDE可以为您编译代码。 Lisp,afaik,没有明确的标准。另外,我不知道,所以我真的不知道如何编译它的代码。

问题是:我应该安装什么才能让它在那里运行?我应该采取什么材料才能实现自给自足?如果你能给我一些关于如何编译我的第一个代码的教程的链接,我会很高兴 - 我想在去之前测试它(简单的“你好,世界”就足够了)。

2 个答案:

答案 0 :(得分:6)

获取Practical Common Lisp的副本:http://www.gigamonkeys.com/book/ 这本书给出了使用Common Lisp的更多动力并解释了它。

还可以从此处下载Common Lisp标准的HTML版本:Common Lisp Documentation。特别是Common Lisp HyperSpec 7.0

sbcl.org

获取SBCL文档

答案 1 :(得分:2)

从C ++背景来看,你可能已经学会了其他Algol方言,因为它们都是不同的方言,它们通常很容易学习。这与学习与你知道的语言密切相关的另一种语言与最远的语言相比几乎是一样的。

LISP不是Algol方言,所以期望它与C ++和Java之间的转换不同。 LISP方言分享了McCarthy在1958年制作的大部分原始规范,因此在知道一个方法时学习一个新的Lisp方言很简单。我建议你从Paul Grahams essay和他的Common Lisp版本的eval开始。您可以免费下载许多历史和当前书籍,但对于Common Lisp,CLHS(hyperspec,直接链接)是最重要的。 Paul Grahams的书On LISP也是免费提供的,但对于中级Lispers来说更是如此。

我爱Land of Lisp。这是一本很好的书,你可以在其中学习Common Lisp的精髓。 Previous version of an early chapterchapter 8免费提供。我买了这本书并认为这是学习Common Lisp的有趣方式。 (我还推出了名为Realm of Racket的新版本的Racket(Scheme方言)版本,但我认为旧的LOL略胜一筹,而RoR则有更酷的(图形)游戏)

我学习了Common Lisp作为我的第一个Lisp。我认为选择学习哪种方言并不重要,但重要的是要在Lisp中思考并在LISP中自己制作自己的Eval(制作自己的方言或LISP的子集)。此外,如果你喜欢口译员和编译器,你也应该尝试用不同于Lisp的东西制作一个。你会从中学到很多东西。

我在执行Common Lisp任务时使用Clisp,因为它有readline支持,我认为更容易理解它的错误消息和调试接口。我甚至在其中运行我的程序,除非我需要更多的性能。它不会经常发生,但我会使用SBCL

祝你好运:)