15

我想学习和使用SBCL,因为它易于学习和速度。(3 年前我一直在玩 Lisp,现在正在刷新它。)但是我怎样才能了解标准库中包含的内容,这样我就不会重新实现一些东西呢?

在 Python 之后,这就像一场噩梦:SBCL 网站上的手册只涵盖了软件,没有关于标准库的任何内容。(相比之下,Gnu Common Lisp 的网站只有源代码和二进制文件。)

4

4 回答 4

18

首先:这个问题并不是真正的 SBCL 特定的。CL 库是标准化的,因此您可以使用任何 lisp 的文档。

如前所述,CL HyperSpec非常有用。然而,它是一个参考,因此在我看来不太适合学习。

对于学习,那里有各种书籍。我个人非常喜欢这些:

您还应该查看现有代码。我特别喜欢阅读 Edi Weitz 的任何库,但我从不同的来源展开阅读,以了解其他人如何使用 Lisp 及其庞大的库来解决问题。

如果你能花那么多时间,你甚至可以登录 IRC(#lisp频道)并在那里提问。或者发布你写过的代码,comp.lang.lisp并通过直接反馈来征求批评意见。

于 2009-12-08T13:00:25.890 回答
9

有关Common Lisp中包含的内容的文档,请参阅Common Lisp HyperSpec

于 2009-12-08T09:46:34.667 回答
3

此外,如果您正在学习 lisp,请考虑使用 CLISP 而不是 SBCL。CLISP 有(恕我直言)一个更直观的调试器。对于任何非生产的东西,大多数 Common Lisp 实现之间的差异可以忽略不计。

于 2009-12-08T13:14:18.890 回答
1

如果您在 Windows 上进行开发,CLHS (Common Lisp HyperSpec) 和CLtL2 (Common Lisp the Language, 2nd Edition) 可以作为 CHM 帮助文件使用,这使得查找 CL 标准库函数变得更加容易。我发现它比使用(在线或离线)HTML 版本更快。

CHM 文件可能来自多个来源。一个方便的下载是:

http://www.daansystems.com/lispide/

(它们与 LispIDE 包捆绑在一起。)

于 2010-01-01T23:49:00.237 回答