Документация по стандартной библиотеке SBCL?
Я хочу изучить и использовать SBCL из-за его легкости обучения и скорости. (Я играл с Lisp 3 года назад, и теперь обновляю его.) Но как я могу узнать, что входит в стандартную библиотеку, чтобы я не обновлял вещи?
После Python это похоже на кошмар: на веб-сайте SBCL есть manual, который охватывает только программное обеспечение, а не слово в стандартной библиотеке. (Для сравнения, веб-сайт Gnu Common Lisp имеет только источники и двоичные файлы.)
Ответы
Ответ 1
Во-первых: эта проблема не является специфичной для SBCL. Библиотека CL стандартизирована, и вы можете использовать документацию любого lisp.
Как уже упоминалось, CL HyperSpec очень полезен. Это, однако, ссылка и, следовательно, не очень подходит для изучения, на мой взгляд.
Для обучения существуют различные книги. Мне лично это очень нравится:
Вы также должны посмотреть на существующий код. Мне особенно понравилось читать любую из библиотек Эди Вейтца, но распространять и читать из разных источников, чтобы узнать, как другие люди используют Lisp и свою огромную библиотеку для решения проблем.
Если вы можете потратить столько времени, вы даже можете войти в IRC (канал #lisp
) и задать там вопросы. Или почтовый код, который вы написали на comp.lang.lisp
, и попросите критику узнать через прямую обратную связь.
Ответ 2
Обратитесь к Common Lisp HyperSpec для документации о том, что включено в Common Lisp
Ответ 3
Кроме того, если вы изучаете lisp, используйте CLISP вместо SBCL. CLISP имеет (IMHO) гораздо более интуитивно понятный отладчик. Для любого непроизводственного материала разница между большинством распространенных реализаций Lisp незначительна.
Ответ 4
Если вы работаете в Windows, CLHS (общий Lisp HyperSpec) и CLtL2 (общий Lisp язык, второе издание) доступны в виде справки CHM файлов, что значительно облегчает поиск библиотечных функций CL. Я нахожу, что это быстрее, чем с использованием (онлайн или офлайн) HTML-версии.
Файлы CHM, вероятно, доступны из нескольких источников. Одна удобная загрузка:
http://www.daansystems.com/lispide/
(Они связаны с пакетом LispIDE.)