我想學習和使用SBCL,因爲它的學習和速度很容易。 (我3年前一直在和Lisp一起玩,現在正在刷新它。)但是,我怎麼能夠了解標準庫中包含的內容,以便我不重新實現?SBCL標準庫文檔?
Python之後,這就像一場噩夢:SBCL網站有一個manual,只涵蓋軟件,而不是標準庫上的一個字。 (爲便於比較,牛羚Common Lisp的網站只有源和二進制文件。)
我想學習和使用SBCL,因爲它的學習和速度很容易。 (我3年前一直在和Lisp一起玩,現在正在刷新它。)但是,我怎麼能夠了解標準庫中包含的內容,以便我不重新實現?SBCL標準庫文檔?
Python之後,這就像一場噩夢:SBCL網站有一個manual,只涵蓋軟件,而不是標準庫上的一個字。 (爲便於比較,牛羚Common Lisp的網站只有源和二進制文件。)
首先在Common Lisp HyperSpec的文檔:這個問題是不是真的SBCL具體。 CL庫是標準化的,因此您可以使用任何lisp的文檔。
如前所述,CL HyperSpec非常有用。然而這是一個參考,因此不適合我的學習。
對於學習,這裏有各種書籍。由大衛Lamkins
你也應該看看現有的代碼
如果你可以花費那麼多時間,你甚至可以登錄IRC(#lisp
頻道)並在那裏提問。或者郵寄到comp.lang.lisp
的代碼並要求通過直接反饋進行批判。
部門諮詢,瞭解什麼是包含在Common Lisp的
此外,如果您正在學習lisp,請考慮使用CLISP而不是SBCL。 CLISP有(恕我直言)一個更直觀的調試器。對於任何非生產性的東西,大多數Common Lisp實現之間的差異可以忽略不計。
爲什麼我喜歡SBCL就是它在飛行中編譯文件('sbcl --file
CLISP的調試器非常好,但通過其SLIME接口**使用SBCL調試器**並不令人不愉快。如果你想在實際的命令行會話中使用你的CL,CLISP是內建Readline的最佳選擇。如果你使用SLIME,這是一個更強硬的調用。 – Pillsy 2009-12-08 14:56:23
@Pillsy我絕對可以同情,但我也想提一下,通過quicklisp安裝'linedit',sbcl的命令行故障可以(相對)輕鬆修復。它爲您提供了readline和tab完成功能。 – FizzixNerd 2014-05-24 13:59:24
如果您正在開發Windows,CLHS(Common Lisp的HyperSpec)和CLtL2(Common Lisp的語言,第2版)可作爲CHM幫助文件,這使得尋找CL標準庫函數要容易得多。我發現它比使用(在線或離線)HTML版本更快。
CHM文件可能來自多個來源。一個方便的下載:
http://www.daansystems.com/lispide/
(他們與LispIDE包捆綁在一起。)
感謝大文章。我在2006-2007學習了一段時間的Lisp,但是當時阻礙了我的是缺乏現實生活中的應用程序(現在有一個)以及這個stdlib問題。 – 2009-12-08 13:24:40