2009-12-08 85 views
14

我想學習和使用SBCL,因爲它的學習和速度很容易。 (我3年前一直在和Lisp一起玩,現在正在刷新它。)但是,我怎麼能夠了解標準庫中包含的內容,以便我不重新實現?SBCL標準庫文檔?

Python之後,這就像一場噩夢:SBCL網站有一個manual,只涵蓋軟件,而不是標準庫上的一個字。 (爲便於比較,牛羚Common Lisp的網站只有源和二進制文件。)

回答

19

首先在Common Lisp HyperSpec的文檔:這個問題是不是真的SBCL具體。 CL庫是標準化的,因此您可以使用任何lisp的文檔。

如前所述,CL HyperSpec非常有用。然而這是一個參考,因此不適合我的學習。

對於學習,這裏有各種書籍。由大衛Lamkins

你也應該看看現有的代碼

  • ANSI Common Lisp由保羅·格雷厄姆
  • Practical Common Lisp由彼得·塞貝爾
  • Successful Lisp:我個人很喜歡這些了很多。我特別喜歡閱讀Edi Weitz提供的任何庫文件,但是從不同的來源讀取並閱讀了解其他人如何使用Lisp及其龐大的庫來解決問題。

    如果你可以花費那麼多時間,你甚至可以登錄IRC(#lisp頻道)並在那裏提問。或者郵寄到comp.lang.lisp的代碼並要求通過直接反饋進行批判。

+0

感謝大文章。我在2006-2007學習了一段時間的Lisp,但是當時阻礙了我的是缺乏現實生活中的應用程序(現在有一個)以及這個stdlib問題。 – 2009-12-08 13:24:40

10

部門諮詢,瞭解什麼是包含在Common Lisp的

3

此外,如果您正在學習lisp,請考慮使用CLISP而不是SBCL。 CLISP有(恕我直言)一個更直觀的調試器。對於任何非生產性的東西,大多數Common Lisp實現之間的差異可以忽略不計。

+0

爲什麼我喜歡SBCL就是它在飛行中編譯文件('sbcl --file ',這裏它以光速運行)。我無法弄清楚在其他實現中如何做到這一點。我也會看看CLISP,謝謝。 – 2009-12-08 13:28:05

+3

CLISP的調試器非常好,但通過其SLIME接口**使用SBCL調試器**並不令人不愉快。如果你想在實際的命令行會話中使用你的CL,CLISP是內建Readline的最佳選擇。如果你使用SLIME,這是一個更強硬的調用。 – Pillsy 2009-12-08 14:56:23

+1

@Pillsy我絕對可以同情,但我也想提一下,通過quicklisp安裝'linedit',sbcl的命令行故障可以(相對)輕鬆修復。它爲您提供了readline和tab完成功能。 – FizzixNerd 2014-05-24 13:59:24

1

如果您正在開發Windows,CLHS(Common Lisp的HyperSpec)和CLtL2(Common Lisp的語言,第2版)可作爲CHM幫助文件,這使得尋找CL標準庫函數要容易得多。我發現它比使用(在線或離線)HTML版本更快。

CHM文件可能來自多個來源。一個方便的下載:

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

(他們與LispIDE包捆綁在一起。)