Attempt to translate "Common Lisp The Language Second Edition" into russian language
C Shell
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Digital-Press initial commit Feb 2, 2012
en small fixes Mar 12, 2013
enpdf small fixes Mar 12, 2013
ru small fixes Mar 12, 2013
rupdf small fixes Mar 12, 2013
.gitignore
CL-type-hierarchy.png add images (type heirarchy, clos method invocation), fix bug with gen… Sep 13, 2012
Colophon
README.org
TODO
Title-page.tex add images (type heirarchy, clos method invocation), fix bug with gen… Sep 13, 2012
acos-plot.pdf add plots Feb 2, 2012
acos-plot.png
acosh-plot.pdf add plots Feb 2, 2012
acosh-plot.png
amop.tex small fixes Mar 12, 2013
array.tex remake index system. small restyle Apr 16, 2012
asin-plot.pdf
asin-plot.png
asinh-plot.pdf add plots Feb 2, 2012
asinh-plot.png translation progress, add png files for *-plot for html version, exti… Feb 26, 2012
backq.tex
bib.tex
char.tex small fixes Mar 12, 2013
cleanhtml.sh
cleanpdf.sh make dual language book Apr 20, 2012
clm.bbl
clm.css CLOS translation May 16, 2012
clm.tex add images (type heirarchy, clos method invocation), fix bug with gen… Sep 13, 2012
clos.tex add images (type heirarchy, clos method invocation), fix bug with gen… Sep 13, 2012
clos1.jpg
clos1.png add images (type heirarchy, clos method invocation), fix bug with gen… Sep 13, 2012
cltl.cfg CLOS translation May 16, 2012
cltl2ed.css
cltl_sml.eps make dual language book Apr 20, 2012
cltl_sml.gif make dual language book Apr 20, 2012
cltl_sml.png make dual language book Apr 20, 2012
cltl_sml.xcf make dual language book Apr 20, 2012
colophon.tex
commands.tex add images (type heirarchy, clos method invocation), fix bug with gen… Sep 13, 2012
condition.tex
contrl.tex small fixes Mar 12, 2013
cos-plot.pdf add plots Feb 2, 2012
cos-plot.png
cosh-plot.pdf
cosh-plot.png translation progress, add png files for *-plot for html version, exti… Feb 26, 2012
declar.tex small fixes Mar 12, 2013
defun.tex
dtspec.tex
dtypes.tex small fixes Mar 12, 2013
eval.tex intern, unintern fixing Dec 8, 2012
exp-plot.pdf add plots Feb 2, 2012
exp-plot.png translation progress, add png files for *-plot for html version, exti… Feb 26, 2012
files.tex
frontmatter.tex smallfixes Apr 15, 2012
generators.tex
hash.tex
identity-plot.pdf add plots Feb 2, 2012
identity-plot.png
index.cfg smallfixes May 16, 2012
index.css make dual language book Apr 20, 2012
index.html
index.tex smallfixes May 16, 2012
intro.tex
io.tex small fixes Mar 12, 2013
issues.tex fix html index building Feb 7, 2012
kseque.tex
list.tex smallfixes Jun 19, 2012
log-plot.pdf
log-plot.png
loop.tex small fixes Mar 12, 2013
macro.tex small fixes Mar 12, 2013
makeall.sh refactored intro Jun 5, 2012
makehtml.sh CLOS translation May 16, 2012
makepdf.sh make dual language book Apr 20, 2012
marginal.tex initial commit Feb 2, 2012
minus-over-plus-plot.pdf
minus-over-plus-plot.png
misc.tex smallfixes Jun 19, 2012
number.cl initial commit Feb 2, 2012
number.tex
plus-over-minus-plot.pdf add plots Feb 2, 2012
plus-over-minus-plot.png translation progress, add png files for *-plot for html version, exti… Feb 26, 2012
postscript.tex
pprint.tex
preds.tex small fixes Mar 12, 2013
progs.tex small fixes Mar 12, 2013
really-good-atanh-plot.pdf add plots Feb 2, 2012
really-good-atanh-plot.png translation progress, add png files for *-plot for html version, exti… Feb 26, 2012
rucleanhtml.sh make dual language book Apr 20, 2012
rucleanpdf.sh
rumakehtml.sh CLOS translation May 16, 2012
rumakepdf.sh make dual language book Apr 20, 2012
scope.tex
series-plot.pdf add plots Feb 2, 2012
series-plot.ps initial commit Feb 2, 2012
series.tex
sin-plot.pdf
sin-plot.png translation progress, add png files for *-plot for html version, exti… Feb 26, 2012
sinh-plot.pdf add plots Feb 2, 2012
small-lfonts-times.tex initial commit Feb 2, 2012
sqrt-one-minus-sq-plot.pdf
sqrt-one-minus-sq-plot.png
sqrt-one-plus-sq-plot.pdf
sqrt-one-plus-sq-plot.png translation progress, add png files for *-plot for html version, exti… Feb 26, 2012
sqrt-plot.pdf
sqrt-plot.png translation progress, add png files for *-plot for html version, exti… Feb 26, 2012
stream.tex small fixes Mar 12, 2013
string.tex
struct.tex small fixes Mar 12, 2013
symbol.tex
tan-plot.pdf
tan-plot.png translation progress, add png files for *-plot for html version, exti… Feb 26, 2012
tanh-plot.pdf add plots Feb 2, 2012
tanh-plot.png translation progress, add png files for *-plot for html version, exti… Feb 26, 2012
xatan-plot.pdf add plots Feb 2, 2012
xatan-plot.png
xerror.tex
xpack.tex small fixes Mar 12, 2013

README.org

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имя символа (или выводимое имя)Имя символа, которое выводится писателем.
printed representationтекстовое (строковое) представлениеКаждый Common Lisp’овый объект может быть выведен в строку, но не каждый может быть получен из строки обратно
internedпакетный (интернированный)Символ, у которого есть домашний пакет. Либо символ, который доступен из данного пакета.
uninternedбеспакетный (дезинтернированный)Символ, у которого нет домашнего пакета. Либо символ удаляемый из данного пакета.
internпакетировать (задать пакет)Присваивание домашнего пакета символу.
uninternдепакетировать (лишить пакета)Лишить символ домашнего пакета.
external symbolвнешний символ (экспортированный символ)Символ, который “официально” доступен для пользователей пакета.
internal symbolвнутренний символ (неэкспортированный символ)Символ, который служит только для внутренних нужд.
shadowскрыватьПреимущество одного символа над другим, если у них одинаковые имена
hash tableхеш-таблицаСтруктура для хранения объектов ключ=>значение.
null environmentнулевое окружение
the top-level-loopцикл взаимодействия с пользователем
synonym streamпоток-синоним
bit sinkкусочек клоаки
end-of-fileконец файла
error signalсигнал об ошибке
to signal an errorсигнализировать ошибкуПеревод дословный и не совсем корректный, правильнее было бы сигнализировать об ошибке, но нынешний перевод более близок к техническому процессу.
to signal a correctable 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.
steppingпошаговое изменениеИзменение переменной в цикле

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 формате.