是什么让你想学习Common Lisp?你想要什么?

时间:2008-12-11 19:39:21

标签: emacs lisp common-lisp

我正在为Common Lisp的新手开发一个工具包(一种live-CD Lisp-in-a-Box),我想确保它广泛满足。 Lisp对你有什么吸引力?你需要做什么/做什么/让你开始感兴趣?

到目前为止我所拥有的:SBCL 10.22,Emacs 22.3,SLIME和LTK捆绑在一起并配置在完全启动到RAM的Linux live-CD上。


我现在发布了这个结果;它可以在Thnake website获得。

14 个答案:

答案 0 :(得分:9)

我至少会包含cl-ppcre,clx,Hunchentoot和Weblocks。

我想你必须与各自的作者谈判,但包括“On Lisp”,“Practical Common Lisp”和“Successful Lisp”将是CD的重要资产。

最好的方法是将stumpwm用作Live CD上的窗口管理器。

答案 1 :(得分:7)

Emacs几乎阻止我学习Common Lisp。通过它需要花费很多精力。 Emacs和SLIME对于初学者来说太过分了,对初学者来说永远不会让人满意。如果我想学习一门新的编程语言,我希望在学习的过程中,其他所有内容都不会受到影响。学习Lisp的任务很难,没有增加技术性和设置环境的复杂性。隔离变量。

使用rlwrap或等效设置SBCL。 rlwrap支持非常基本的匹配和历史搜索,甚至可以完成制表符。不像SLIME那样华丽,但初学者不需要SLIME。初学者需要能够在不花费一小时与Emacs对抗的情况下运行hello-world。提供Emacs / SLIME作为选项,但不要求它。

答案 2 :(得分:6)

我的建议是包含一个HTTP服务器,如Hunchentoot和一个流行的Web框架。我怀疑大多数想要学习Lisp的人是因为阅读Paul Graham而想要模仿他在构建Viaweb方面的成功,因此能够轻松创建和修改功能强大的Web应用程序将是您生活的一个强大卖点。 CD。

答案 3 :(得分:4)

真正让我对Common Lisp感兴趣的是.net或Java级别的一组现代库,以及一些非常好的文档。 在软件方面,一个好的 gui 编辑器沿着记事本++或jEdit的路线会很好。 Emacs / vi&基于文本的编辑器对于认真的开发来说总是显得古怪和过时。

答案 4 :(得分:4)

当然包括Emacs,但你可能想要更温和的东西。

我发现最容易陷入的Lisp环境是Macintosh Common Lisp,还有FRED编辑器(Fred类似于Emacs故意)。 Digitool没有成功进入当前的Mac时代,但他们在折叠时开源了很多东西。请访问www.clozure.com或在Google上搜索“openmcl”。

有一个项目可以让Fred环境在Openmcl上运行,但是我不知道状态是否正常(我在很长一段时间内没有对Lisp做过任何事情,并且没有关注邮件列表)。

所以,我的建议:

问问Paul Graham你是否可以加入“On Lisp”。由于他免费提供下载,因此他很可能会给予许可。 (他的另一本出色的Lisp书籍“ANSI Common Lisp”显然仍在销售,所以他不太可能在那里给你许可。)

至少检查MCL的内容,看看是否有任何可以找到的东西让它变得更容易。 Emacs是一个很棒的Lisp环境,但它对初学者来说有点吓人。

我最近没有看过SBCL文档。它是否具有可读性和初学者友好性?也许有人可以写一些关于如何开始以及如何调试的快速说明。即使使用Emacs,也要强调鼠标的使用。

答案 5 :(得分:3)

clbuild中的所有内容(http://common-lisp.net/project/clbuild)应该是一个很好的候选者。顺便说一句,除了Emacs之外,列表中的所有包也由clbuild管理。我认为,如果clbuild中的项目集合可以为标准普通lisp-library-hood带来一些动力,那将是一件好事。

答案 6 :(得分:3)

阅读Paul Graham让我想学习Common Lisp。但如果我真的坐下来尝试学习它,那么冲动就会消退。

答案 7 :(得分:1)

Emacs确实有一点学习曲线,但它对于严肃的开发非常有用 - 没有任何令人讨厌的鼠标驱动(基于文本的)代码。

现在启用了开箱即用的CUA模式(所以Cx,Cc,Cv工作“标准”),并且有一个菜单包含文件操作,如保存等,所以它不应该如果它都是预包装的话,那就很难了。但是预先配置.emacs文件以确保启用CUA模式 ,SLIME不必由用户等配置,这是必须的,并且为用户提供了更多文档。 .emacs配置 - 链接到EmacsWiki等(hrm,如果这是在CD上,用户不太可能自己配置它,不是它......)

答案 8 :(得分:1)

我有兴趣学习Lisp,但我不喜欢大部分资源。如何将这个项目扩展到创建某种负责提供教程或其他东西的“社区”,以使Common Lisp更受欢迎和更容易学习?坏/怪异/无用的想法?

答案 9 :(得分:1)

这样做:

http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html

当然,我还想学习更多Python 3.0,erlang和F#。我相信函数式语言(并不是说Python是一种函数式语言)提供了一种不同的视角。您拥有的视角越多,您可以构建更好的解决方案。这一切都是为了工作使用正确的工具,但如果你至少不熟悉某些你可能永远不会想到用特定工具解决问题的东西。我想这可以追溯到古老的说法,对木匠来说,一切看起来像钉子。当有更好的解决方案时,我不想将C#打成一切。此外,时代变化,时尚也随之而来。

答案 10 :(得分:0)

There's always Practical Common Lisp,一本关于Common Lisp的书,可以在线阅读。还有一个包含Emacs的包装,其CL实现意味着与本书一起使用。

答案 11 :(得分:0)

我认为包含教程的想法非常好。

除了已经陈述过的内容之外,还有最简单的新手入门书(符号计算的温和介绍)和几个优秀的网站隐藏在网络上,人们应该知道关于。他们在这里:

答案 12 :(得分:0)

据我所知,你正在做Thnake。

感谢您的欢迎直播发布!

我几天前尝试过,发现它相当令人印象深刻和有趣。

显然缺少一些东西,例如LTK,因为你已经包含了Common Lisp和Tcl / Tk。由于有gtk,您可以包含CL和Python的绑定和文档。

此外,Lisp Hyperspec还需要预先配置Slime才能使用它。 (对于Python和Tcl的文档也是如此)可能最好添加emacs-w3m以便快速方便地进行文档浏览。

答案 13 :(得分:0)

你也一定要添加Vim,配置RainbowParenthsis插件。

rbwrap for SBCL是一个好主意,所以(要求:sb-aclrepl)。

Weblocks应该是cl-prevalence,也可能是Elephant / BDB。

豫ICP备18024241号-1