• Stars
    star
    189
  • Rank 204,649 (Top 5 %)
  • Language
    HTML
  • License
    Other
  • Created about 11 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Lisp In Small Pieces на русском языке

Интерпретация Лиспа и Scheme

Это перевод на русский язык «широко известной в узких кругах» книги Кристиана Кеннека «Les Langages Lisp» (aka Lisp in Small Pieces). Книга затрагивает основы построения интерпретаторов и компиляторов Лиспа (в первую очередь его диалекта Scheme), а также разнообразие вариантов понимания семантики его конструкций и возможностей вроде окружений, замыканий, исключений, продолжений, рефлексии и макросов.

Готовые сборки

В гитхабовских релизах доступны предварительно собранные варианты:

  • lisp_a4.pdf — PDF под формат A4;
  • lisp-*pt.epub — reflowable EPUB с соответствующим размером шрифта.

На Github Pages хостится web-based версия.

Что где валяется

Файл Содержимое
build.* билд-скрипты
makeindex.py скрипт, формирующий предметный указатель
book-src/ исходный текст книги; содержимое файлов самоочевидно
epub/ исходный текст книги, структура EPUB-контейнера, шрифты
epub/fontconfig CSS с настройками для разных базовых размеров шрифта
scm-src/ копия исходных текстов программ, прилагаемых к книге

Сборка

Для сборки необходимы pdfLaTeX и Python 2.7. Запускаете из корневой директории простенький скрипт build.sh или build.bat и ждёте, пока LaTeX сделает три прохода по тексту. Забираете lisp.pdf из корневой директории.

Python необходим для генерации предметного указателя. Обеспечьте, пожалуйста, запускаемость интерпретатора по команде python.

Скрипты не устанавливают необходимые LaTeX-пакеты. Ожидается, что они или уже доступны, или что ваш дистрибутив LaTeX автоматически их выкачает из CTAN при сборке документа.

Сборка проверена в Debian 7.0 (TeX Live) и Windows (MiKTeX 2.9). Для Windows необходимо установить MiKTeX, установить для него CM-Super и PSCyr (0.4d-beta9), остальное выкачивается автоматически. Для Debian достаточно сделать

sudo aptitude install cm-super texlive-lang-english texlive-lang-french \
    texlive-lang-cyrillic texlive-latex-base texlive-latex-recommended  \
    texlive-latex-extra texlive-pictures

И установить PSCyr вручную.

Шрифты из пакета PSCyr используются только для буквиц и титульной страницы, так что при желании от этой зависимости можно легко избавиться без значительного ущерба для качества. Если желания нет, то удачи с установкой:

Сборка EPUB

Для этого дополнительно потребуются Imagemagick и Ghostscript (для конвертации иллюстраций в PNG), и Info-ZIP (для упаковки результата в EPUB-контейнер). Для сборки вызывайте скрипты с опцией epub. Забираете пачечку lisp-*pt.epub из корневой директории.

Конвертилка Imagemagick должна быть доступна по команде convert. Info-ZIP — по команде zip.

Сборка проверена в Debian 7.0 (Imagemagick 6.7.7, Ghostscript 9.05, Info-ZIP 3.0) и Windows (Imagemagick 6.8.7, Ghostscript 9.10, Info-ZIP 3.0).


Контакты

Домашняя страница профессора Кеннека (клац), его электронный адрес: [email protected]

Оригинал исходных кодов из scm-src можно скачать одним архивом отсюда.

Если вас смущает GitHub или вы не способны отыскать в Гугле мой личный имейл и домашний адрес, то можете слать жалобы, угрозы и предложения сюда: [email protected]

Лицензирование и прочая шушера

По соглашению с автором книги, данный перевод распространяется под лицензией CC BY-ND 3.0 (см. файл LICENSE с копией).

Таким образом, вы можете свободно:

  • делиться — копировать, распространять и передавать другим лицам данное произведение;

  • использовать произведение в коммерческих целях.

При обязательном соблюдении следующих условий:

  • «Атрибуция» — вы должны атрибутировать произведение, указав любым удобным образом название книги, имя автора (Кристиан Кеннек, Christian Queinnec), имя переводчика (ilammy), а также дав ссылку на этот репозиторий: https://github.com/ilammy/lisp.

  • «Без производных произведений» — вы не можете изменять, преобразовывать или брать за основу это произведение.

Пользуясь правом уточнения лицензии, лично я не считаю производными работами форки с целью исправления орфографических, пунктуационных ошибок, факапов в формулах и исходных кодах, а также иных внешних недочётов, не влияющих на смысловое наполнение. И этим даю своё разрешение (и даже поощряю их создание) при условии оформления соответствующих пулл-реквестов.

Естественно, производными работами также не считается перевод LaTeX-исходников в другой формат, перевёрстка, перерисовка иллюстраций и любые оформительские изменения, необходимые для адекватной передачи содержимого книги на другом носителе.

За разрешением на всё прочее (сокращение, перевод, создание комиксов по мотивам и т. п.), пожалуйста, обращайтесь к автору книги; он не кусается, его имейл чуть выше. Лично я не против любого использования, но я не вправе это решать самостоятельно.

Также CC BY-ND распространяется исключительно на содержимое книги: текст и иллюстрации, а также на файлик с текстом лицензии. LaTeX-макросы сами по себе, makeindex.py и всё остальное, не имеющее непосредственного отношения к контенту книги, распространяется на условиях WTFPL (читай: находится в общественном достоянии).

Исходные коды программ, находящихся в scm-src и приведённых в тексте книги, распространяются на условиях, описанных в scm-src/README. Директория scm-src является зеркалом оригинальных исходников, сделанныи исключительно ради удобства. Никаких изменений в него не вносилось.