Skip to content
Attempt to translate "Common Lisp The Language Second Edition" into russian language
C Shell
Find file
Latest commit de57b37 Mar 12, 2013 @filonenko-mikhail small fixes
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 make dual language book Apr 20, 2012
CL-type-hierarchy.png add images (type heirarchy, clos method invocation), fix bug with gen… Sep 13, 2012
Colophon initial commit Feb 2, 2012
README.org small fixes Mar 12, 2013
TODO initial commit Feb 2, 2012
Title-page.tex add images (type heirarchy, clos method invocation), fix bug with gen… Sep 13, 2012
acos-plot.pdf add plots Feb 3, 2012
acos-plot.png translation progress, add png files for *-plot for html version, exti… Feb 27, 2012
acosh-plot.pdf add plots Feb 2, 2012
acosh-plot.png translation progress, add png files for *-plot for html version, exti… Feb 26, 2012
amop.tex small fixes Mar 12, 2013
array.tex remake index system. small restyle Apr 17, 2012
asin-plot.pdf add plots Feb 2, 2012
asin-plot.png translation progress, add png files for *-plot for html version, exti… Feb 26, 2012
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 smallfixes Apr 16, 2012
bib.tex make dual language book Apr 20, 2012
char.tex small fixes Mar 12, 2013
cleanhtml.sh make dual language book Apr 20, 2012
cleanpdf.sh make dual language book Apr 20, 2012
clm.bbl add lost bibliography Feb 3, 2012
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 CLOS translation May 16, 2012
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 CLOS translation May 16, 2012
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 translation progress strings Mar 9, 2012
commands.tex add images (type heirarchy, clos method invocation), fix bug with gen… Sep 13, 2012
condition.tex translation progress: conditions Jun 5, 2012
contrl.tex small fixes Mar 12, 2013
cos-plot.pdf add plots Feb 2, 2012
cos-plot.png translation progress, add png files for *-plot for html version, exti… Feb 26, 2012
cosh-plot.pdf add plots Feb 2, 2012
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 small fixes Mar 12, 2013
dtspec.tex small fixes Mar 12, 2013
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 intern, unintern fixing Dec 8, 2012
frontmatter.tex smallfixes Apr 15, 2012
generators.tex make dual language book Apr 20, 2012
hash.tex smallfixes Jun 19, 2012
identity-plot.pdf add plots Feb 2, 2012
identity-plot.png translation progress, add png files for *-plot for html version, exti… Feb 26, 2012
index.cfg smallfixes May 16, 2012
index.css make dual language book Apr 20, 2012
index.html small fixes Mar 12, 2013
index.tex smallfixes May 16, 2012
intro.tex small fixes Mar 12, 2013
io.tex small fixes Mar 12, 2013
issues.tex fix html index building Feb 7, 2012
kseque.tex fix sequence section, links are added Sep 14, 2012
list.tex smallfixes Jun 19, 2012
log-plot.pdf add plots Feb 2, 2012
log-plot.png translation progress, add png files for *-plot for html version, exti… Feb 26, 2012
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 add plots Feb 2, 2012
minus-over-plus-plot.png translation progress, add png files for *-plot for html version, exti… Feb 26, 2012
misc.tex smallfixes Jun 19, 2012
number.cl initial commit Feb 2, 2012
number.tex smallfixes numbers Jun 19, 2012
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 initial commit Feb 2, 2012
pprint.tex make dual language book Apr 20, 2012
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 make dual language book Apr 20, 2012
rumakehtml.sh CLOS translation May 16, 2012
rumakepdf.sh make dual language book Apr 20, 2012
scope.tex small fixes Mar 12, 2013
series-plot.pdf add plots Feb 2, 2012
series-plot.ps initial commit Feb 2, 2012
series.tex smallfixes Apr 15, 2012
sin-plot.pdf add plots Feb 2, 2012
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 add plots Feb 2, 2012
sqrt-one-minus-sq-plot.png translation progress, add png files for *-plot for html version, exti… Feb 26, 2012
sqrt-one-plus-sq-plot.pdf add plots Feb 2, 2012
sqrt-one-plus-sq-plot.png translation progress, add png files for *-plot for html version, exti… Feb 26, 2012
sqrt-plot.pdf add plots Feb 2, 2012
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 small fixes Mar 12, 2013
struct.tex small fixes Mar 12, 2013
symbol.tex small fixes Mar 12, 2013
tan-plot.pdf add plots Feb 2, 2012
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 translation progress, add png files for *-plot for html version, exti… Feb 26, 2012
xerror.tex small fixes Mar 12, 2013
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 формате.

Something went wrong with that request. Please try again.