16

我正在为刚接触 Common Lisp 的人开发一个工具包(类似于 Live-CD Lisp-in-a-Box),我想确保它得到广泛的满足。Lisp 有什么吸引你的地方?你需要做什么/做了/会什么让你开始并保持你的兴趣?

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


我现在已经发布了这个结果;它可在Thnake 网站上找到

4

14 回答 14

9

我至少会包括 cl-ppcre、clx、Hunchentoot 和 Weblocks。

我想您将不得不与各自的作者协商,但包括“On Lisp”、“Practical Common Lisp”和“Successful Lisp”对于 CD 来说是一笔巨大的财富。

真正好的是将 stumpwm 用作 Live CD 上的窗口管理器。

于 2008-12-11T20:09:49.323 回答
7

Emacs 几乎阻止了我学习 Common Lisp。费了很大的力气才熬过去。Emacs 和 SLIME 对初学者来说太多了,永远不会让初学者广泛满意。如果我想学习一门新的编程语言,我希望在我学习它的同时,其他一切都不会妨碍我。学习 Lisp 的任务已经够难了,没有额外的技术细节和设置环境的复杂性。隔离变量。

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

于 2008-12-11T23:05:52.933 回答
6

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

于 2008-12-11T19:48:43.953 回答
4

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

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

有一个项目让 Fred 环境在 Openmcl 上运行,但我不知道状态(我很长时间没有用 Lisp 做过任何事情,也没有关注邮件列表)。

所以,我的建议:

询问 Paul Graham 是否可以包含“On Lisp”。由于他免费提供下载,他很可能会给予许可。(他的另一本优秀的 Lisp 书,“ANSI Common Lisp”,显然仍在销售,所以他不太可能在那儿给你许可。)

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

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

于 2008-12-12T14:40:09.137 回答
4

真正让我对 Common Lisp 感兴趣的是 .net 或 Java 级别的一组现代库,以及一些非常好的文档。在软件方面,一个不错的gui编辑器沿着 notepad++ 或 jEdit 行会很好。Emacs/vi 和基于文本的编辑器对于严肃的开发来说总是显得古怪而陈旧。

于 2008-12-11T23:11:20.893 回答
3

clbuild ( http://common-lisp.net/project/clbuild ) 中的所有内容都应该是一个很好的候选对象。顺便说一句,您列表中除 Emacs 之外的所有软件包也由 clbuild 管理。我认为,如果 clbuild 中的项目集合能够为标准通用 lisp-library-hood 收集一些动力,那就太好了。

于 2008-12-11T21:28:40.290 回答
3

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

于 2008-12-11T21:12:36.687 回答
1

Emacs 确实有一点学习曲线,但它非常适合认真的开发——在(基于文本的)代码的方式中没有讨厌的鼠标驱动的 gui bling。

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

于 2008-12-12T14:16:41.803 回答
1

这样做:

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

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

于 2008-12-11T19:45:35.520 回答
1

我对学习 Lisp 有点兴趣,但我不“喜欢”大多数可用资源。为了使 Common Lisp 更流行和更容易学习,如何将这个项目扩展到创建某种负责提供教程或其他东西的“社区”?坏/奇怪/无用的想法?

于 2010-02-08T18:51:31.290 回答
0

你当然也应该添加 Vim,配置RainbowParenthsis插件。

SBCL 的 rlwrap 是一个好主意,(需要 :sb-aclrepl)也是如此。

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

于 2009-02-17T08:59:33.683 回答
0

我认为包括教程的想法是一个很好的想法。

除了已经提到的那些之外,还有最简单的关于 lisp 的新手书(符号计算的简单介绍)和一些隐藏在网络上的优秀网站,人们应该知道这些网站。他们来了:

于 2008-12-18T22:11:36.473 回答
0

据我了解,你正在做 Thnake。

感谢您提供出色的现场发行版!

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

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

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

于 2008-12-21T17:05:44.290 回答
0

总有 Practical Common Lisp,一本关于 Common Lisp 的书,可以在网上完整阅读。还有一个带有 CL 实现的 Emacs 包装,旨在与本书一起使用。

于 2009-01-23T20:35:03.977 回答