Coder Social home page Coder Social logo

alexander-naumov / cltl2-doc Goto Github PK

View Code? Open in Web Editor NEW

This project forked from filonenko-mikhail/cltl2-doc

0.0 2.0 0.0 55.71 MB

Attempt to translate "Common Lisp The Language Second Edition" into russian language

Home Page: http://filonenko-mikhail.github.com/cltl2-doc/

C 89.67% Shell 10.33%

cltl2-doc's Introduction

Common Lisp The Laguage Second Edition by Guy Steel

with some corrections from: http://bc.tech.coop/cltl2-ansi.htm

Read online

http://filonenko-mikhail.github.com/cltl2-doc/en/clm.html

Download pdf

http://github.com/filonenko-mikhail/cltl2-doc/enpdf/cltl2.pdf

Bug reports, questions, wishes

If you find errors send me email to filonenko.mikhail<at>gmail.com, or post information here: https://github.com/filonenko-mikhail/cltl2-doc/issues

Also you can find me on

Source code

Tarball: https://github.com/filonenko-mikhail/cltl2-doc/tarball/master

Compilation

git clone --depth 1 https://github.com/filonenko-mikhail/cltl2-doc
cd cltl2-doc-ru
pdf (pdflatex)html (tex4ht)
English./makepdf.sh./makehtml.sh
xpdf rupdf/cltl2.pdffirefox en/index.html
Russian./rumakepdf.sh./rumakehtml.sh
xpdf rupdf/cltl2.pdffirefox ru/index.html

Перевод книги Common Lisp The Language Second Edition by Guy Steele на русский язык

Читать онлайн

http://filonenko-mikhail.github.com/cltl2-doc/ru/clm.html

Скачать pdf

http://github.com/filonenko-mikhail/cltl2-doc/rupdf/cltl2.pdf

Ошибки, вопросы, пожелания

Если вы нашли ошибку или желаете улучшить перевод, то пришлите мне письмо на filonenko.mikhail<at>gmail.com, или оставьте сообщение здесь: https://github.com/filonenko-mikhail/cltl2-doc/issues

Также меня можно найти здесь:

Участие в переводе

Участие приветствуется любое. Для этого можно склонировать репозитарий и править *.tex исходники.

Исходный код

Оригинал на английском языке: http://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/lang/lisp/doc/cltl/cltl_src.tgz

Обновленный Даниелом Херрингом LaTeX код: http://git.androdna.com/?p=lisp/cltl2

Сжатый архив: https://github.com/filonenko-mikhail/cltl2-doc/tarball/master

Репозитарий: https://github.com/filonenko-mikhail/cltl2-doc

Компиляция

git clone --depth 1  https://github.com/filonenko-mikhail/cltl2-doc-ru
cd cltl2-doc-ru
./makeall.shpdf (pdflatex)html (tex4ht)
Русский./rumakepdf.sh./rumakehtml.sh
xpdf rupdf/cltl2.pdffirefox ru/index.html
Английский./makepdf.sh./makehtml.sh
xpdf rupdf/cltl2.pdffirefox en/index.html

Что переводить не нужно

Имена аргументов функций переводить не нужно.

Абзацы о несовместимости Common Lisp’а с другими диалектами переводить не нужно и желательно их удалять из оригинала. Они представлены так:

\begin{incompatibility}
...
\end{incompatibility}

Я думаю, что сейчас кроме историков больше никому не интересно знать о том, чем Common Lisp отличается от своих предшественников.

Устаревшие абзацы нужно переводить частично. Чаще всего после устаревшего абзаца идет информация о его обновлении, или же идет полностью новый абзац.

Устаревший абзац

\begin{obsolete}
...
\end{obsolete}

Обновление для устаревшего абзаца

\begin{newer}
...
\end{newer}

Имена, фамилии переводить не обязательно.

Названия языков переводить не нужно. Можно просто их склонять с помощью апострофа в конце и русского окончания. Например: “Пишу программу на Common Lisp’е”.

Пояснения о функционировании реализации переводить необязательно. Эти абазацы выделяются так:

\begin{implementation}
...
\end{implementation}

Главу 24 Errors переводить не нужно. Она полностью устарела и заменена главой Conditions.

Абзацы с отсылами к предыдущему изданию переводить не нужно. Такие абзацы выделены так:

\begin{new}%CORR
\emph{Notice of correction.}
...
\end{new}

Что переводить нужно

Все остальные абзацы.

Англо-русские эквиваленты для слов и словосочетаний

АнглийскийРусскийКомментарий
characterстроковый символ (иногда просто символ)Тип данных, представляющий отображение символа строки. Переводится со словом строковый, чтобы не было путаницы с фирменными лисповыми символами.
integerцелое число, целочисленныйТип данных, представляющий целое число.
ratiosдробныйТип данных, представляющий дробное число.
rationalрациональные числа
realдействительные числа
floating-point numbersчисла с плавающей точкой“с запятой” это более по русски, но технически будет сбивать с толку
singleодинарные
shortкороткие
longдлинные
doubleдвойные
“true list”“Ъ список”Список с последним элементом равным nil (не dotted)
dotted listсписок с точкойСписок с последним элементом не nil.
keywordsключевые символыСимволы, которые вычисляются сами в себя.
keyword arguments (parameters)именованные аргументы (параметры)Аргументы, которые могут быть переданы с указанием имени в любой позиции при вызове функции.
self-evaluatedсамовычисляемый
macrocallмакровызовФорма, вызывающая макрос.
pathnameимя файла, объект имени файлаОбъект, который содержит в себе структуру описывающую имя файла в переносимом формате.
flow of control, control flowпорядок выполнения
non-local exitнелокальный выходЭто ситуация, “прерывания” выполнения функции.
are eqравны eqРавенство проверяется с помощью функции eq
are eqlравны eqlРавенство проверяется с помощью функции eql
are equalравны equalРавенство проверяется с помощью функции equal
are equalpравны equalpРавенство проверяется с помощью функции equalp
dispatchingдиспетчеризация
evaluatorвычислительПрограмма, которая вычисляет формы. По сути интерпретатор.
readerсчитываетьПрограмма, которая считывает формы.
printerписательПрограмма, которая выводит объекты Common Lisp’а на некоторое устройство.
print nameвыводимое имяИмя символа, которое выводится писателем.
internedинтернированныйСимвол, у которого есть домашний пакет. Либо символ, который доступен из данного пакета.
uninternedдезинтернированныйСимвол, у которого нет домашнего пакета. Либо символ удаляемый из данного пакета.
hash tableхеш-таблицаСтруктура для хранения объектов ключ=>значение.
null environmentнулевое окружение
the top-level-loopцикл взаимодействия с пользователем
synonym streamпоток-синоним
bit sinkкусочек клоаки
end-of-fileконец файла
error signalсигнал об ошибке
to signal an errorсигнализировать ошибкуПеревод дословный и не совсем корректный, правильнее было бы сигнализировать об ошибке, но нынешний перевод более близок к техническому процессу.
package cellячейка пакетаЭто часть символа, для хранения ссылки на родительский пакет
nicknameпсевдонимПакет имеет основное имя и один или несколько псевдонимов
keyword packageпакет ключевых симоловВ данном пакете хряняться ключевые символы
are presented in packageбыть родственным пакетуХитрое свойство символа
are available in packageбыть доступным из пакетаВторое хитрое свойство, пересекающееся с предыдущим
generalized variableобобщенная переменнаяА точнее, это форма, в которую можно сохранять лисп объект с помощью setf
a correctable error is signaledсигнализируется исправимая ошибкаCommon Lisp’овая система условий и рестартов
placeместо, форма обощенной переменной
datumзначениеЗначение, которое используется в ассоциативном списке (a-list)
literal atomлитеральный атомГрубо говоря константный объект, записанный как есть в исходном коде
semi-standardслегка стандартизированНекоторые строковые символы бывают такими
expander functionфункция типаФункция, которая определяется с помощью deftype.

CLOS, MOP

АнглийскийРусскийКомментарий
class metaobjectклассовый метаобъектМетаобъект определяющий поведение класса
slot definition metaobjectслотовый метаобъектМетаобъект содержащий информацию о слоте
generic function metaobjectфункциональный метаобъектМетаобъект содержащий информацию о обобщённой функции и связанными с ней методами
method metaobjectметодовый метобъектМетаобъект содержащий информацию о конкретном методе
specializer metaobjectспециализаторский метаобъектМетаобъект содержащий информацию о специализаторах метода
method combination metaobjectметаобъект комбинацийМетаобъект содержащий информацию о кобминациях методов для обобщённой функции

LaTeX код

В процессе перевода LaTeX код преобразовывается и упрощается. Это сделано по нескольким причинам. Во-первых книга была сверстана давно в 1990 году и некоторые вещи сегодня просто отказались компилироваться. Во-вторых простой tex код гораздо лучше компилируется tex4ht и результат получается красивее.

Список преобразований:

Некоторые преобразования для более качественного вывода tex4ht:

Было Стало Значение
{\it …} \emph{…} Выделение (обычно курсивом)
{\bf …} \textbf{…} Жирный
{\tt …} \texttt{…} Моноширинный
\(…\) $…$ Скобки для математических формул
\hbox{…}

Простые математические формулы tex4ht может компилировать в текст без генерации картинки. Это очень удобно, так как online книга получается достаточно легковесной.

commands.tex

Основные команды для книги определены в файле commands_html.tex.

cltl.cfg

Данный файл содержит конфигурацию для генератора html tex4ht.

cltl2ed.css

Данный файл содержит стили для книги в html формате.

cltl2-doc's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.