Я достаточно усвоил Common Lisp, чтобы запутать свой способ написания приложения. Я прочитал Практикующий Сейбел. Lisp
Какие библиотеки или программы следует читать, чтобы понять идиомы, Дао, Common Lisp?
Я достаточно усвоил Common Lisp, чтобы запутать свой способ написания приложения. Я прочитал Практикующий Сейбел. Lisp
Какие библиотеки или программы следует читать, чтобы понять идиомы, Дао, Common Lisp?
CL-PPCRE часто упоминается как хороший пример, по уважительной причине. На самом деле, вероятно, любая из библиотек Edi Weitz будет хорошо читать, но CL-PPCRE особенно умен и полезная и впечатляющая библиотека. Кроме того, многие реализации CL написаны в основном в CL. Это может быть довольно продуктивно, чтобы выбрать часть CL, которая обычно реализуется в CL, и сравнить, как обрабатываются различные реализации. В частности, некоторые из лучших примеров больших полезных макросистем - это реализация вещей в стандарте. Loop - интересное чтение, или если вы действительно амбициозны, вы можете сравнить несколько реализаций CLOS.
Если в какой-то области вычислений вас особенно интересует, возможно, стоит упомянуть об этом, поэтому люди могут адаптировать рекомендации к этому.
Это другая книга, так что это может быть не совсем то, что вы ищете, но Питер Норвиг Парадигмы в программировании искусственного интеллекта содержит много хорошо написанных, небольших программ Common Lisp. Это не совсем естественный код, особенно в первых нескольких главах, потому что, как и код в Practical Common Lisp, он фокусируется на обучении вас программированию в CL, но он все еще очень стоит прочитать. Он также содержит несколько отличных примеров того, как вы можете создавать другие языки поверх Common Lisp, и у него есть некоторые ценные советы о том, как повысить производительность программ CL.
Другие рекомендации (PAIP и CL-PPCRE) превосходны. Я также предложил бы ознакомиться с Alexandria, а также взглянуть на GBBopen.
Искусство метаобъектного протокола - это книга с самым красивым кодом, когда-либо написанным.
LISP (Lisp In Small Pieces) - аккуратная книга; показывает клоссету (небольшая система акутов) и некоторые компиляторы. Без сомнения, книга норвигов удивительна.
Мне нравится на самом деле "сборка проблемных вещей", но код немного хвостик. я не используется для привязки переменных с динамической областью в списке параметров. Но это принесло много удовольствия усовершенствования, пытающиеся "предварительно скомпилировать" сеть дискриминации. Эта книга дает другое подходит к некоторым норвежским кодам; Я все еще думаю, что код Норвига является гораздо более "аккуратным и чистым" кодом (легче читать и понимать, и все же творческий).
"Построение решателей проблем" должно появиться с предупреждающей табличкой типа "вам понадобятся некоторые аспирен (sp). Похоже, что молния ударила меня в голову, когда я наконец "понимали" зависимость от rms и sussmans, направленную на обратное отслеживание. Компиляция pdis был также блестящим. Отличный материал. Мне просто жаль, что я не мог вспомнить все это...
Мне нравится код SBCL.
Единственное, что я хотел бы предложить, это программировать. Это то, что я сделал.
Я сделал две вещи. Один из них я решил проблему, с которой я знаком, модульную систему тестирования и расширил ее, включив тестовые пакеты. Чтобы понять, как писать макросы.
Вторая вещь, которую я сделал, - это играть с базовыми объектами в CL. Макросы, закрытие и стиль.
Также не забывайте получать обратную связь от Lispers о своем коде.