<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0">
<channel>
<title>FreeSource - AltLinux/Sisyphus/Alterator/internals/1</title>
<link>http://freesource.info/wiki/AltLinux/Sisyphus/Alterator/internals/1</link>
<description>History/revisions of FreeSource/AltLinux/Sisyphus/Alterator/internals/1</description>
<language>en-us</language>
<item>
<title>2006-10-30 15:37:09</title>
<link>http://freesource.info/wiki/AltLinux/Sisyphus/Alterator/internals/1/show?time=2006-10-30+15%3A37%3A09</link>
<description>&lt;div class="pageBefore">&lt;img src="http://freesource.info/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a name=".altlinux.sisyphus.alterator.internals.1" href="http://freesource.info/wiki/AltLinux/Sisyphus/Alterator/internals/1&amp;" class="">/Alt&amp;nbsp;Linux&amp;nbsp;/&amp;nbsp;Sisyphus&amp;nbsp;/&amp;nbsp;Alterator&amp;nbsp;/&amp;nbsp;internals&amp;nbsp;/&amp;nbsp;1&lt;/a> за &lt;a href="http://freesource.info/wiki/AltLinux/Sisyphus/Alterator/internals/1?time=2006-10-30+15%3A37%3A09">2006-10-30 15:37:09&lt;/a> и &lt;a href="http://freesource.info/wiki/AltLinux/Sisyphus/Alterator/internals/1">2006-10-31 16:56:51&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;div class="action" style="float:right; width:250px">&lt;div class="action-content">Эта&amp;nbsp;страница была перенесена на&amp;nbsp;&lt;a href="http://altlinux.org/Alterator/internals/1" target="_blank" title="" class="outerlink">altlinux.org&lt;/a>. Текст на&amp;nbsp;freesource.info заморожен.&lt;/div>&lt;/div>&lt;br />
Схема &amp;mdash; это&amp;nbsp;один из&amp;nbsp;старейших диалектов хорошо известного семейства языков LISP.  LISP всегда существенно отличался от&amp;nbsp;других языков. И&amp;nbsp;не только несколько непривычным синтаксисом, но&amp;nbsp;и большим изяществом и&amp;nbsp;продуманностью.&lt;br />
Сразу порекомендую пользоваться нормальным текстовым редактором. Очень хорошо подойдут vim&amp;nbsp;и&amp;nbsp;emacs. А&amp;nbsp;вот mcedit навсегда вас&amp;nbsp;отвадит от&amp;nbsp;этого языка.&lt;br />
&lt;ul>&lt;li> &lt;strong>guile&lt;/strong> &amp;mdash; не&amp;nbsp;самый оптимальный по&amp;nbsp;скорости, но&amp;nbsp;зато непревзойдённый по&amp;nbsp;удобству интеграции с&amp;nbsp;C;
&lt;/li>&lt;li> &lt;strong>gambit-c&lt;/strong> &amp;mdash; очень хороший компилятор, но&amp;nbsp;с бедноватым набором готовых библиотек;
&lt;/li>&lt;li> &lt;strong>scheme48&lt;/strong> &amp;mdash; один из&amp;nbsp;лучших интерпретаторов с&amp;nbsp;богатой библиотекой.&lt;/li>&lt;/ul>&lt;a name="h5138-1">&lt;/a>&lt;h2>2 О&amp;nbsp;порядке слов.&lt;/h2>
Итак, когда вы&amp;nbsp;захотите что-то сказать на&amp;nbsp;Scheme, сначала надо назвать функцию, а&amp;nbsp;потом перечислить, к&amp;nbsp;кому её применить.&lt;br />
Благодаря такому способу записи интерпретатор выражений получается очень простым и&amp;nbsp;компактным не&amp;nbsp;в пример C&lt;em>++&lt;/em>, где&amp;nbsp;развесистые выражения подчас способны свести с&amp;nbsp;ума как&amp;nbsp;разработчика, так&amp;nbsp;и&amp;nbsp;компилятор, да&amp;nbsp;и двусмысленность что&amp;nbsp;в&amp;nbsp;C, что&amp;nbsp;в&amp;nbsp;C++ &amp;mdash; тоже не&amp;nbsp;подарок. К&amp;nbsp;ней же&amp;nbsp;привыкли &amp;mdash; привыкните и&amp;nbsp;к Scheme.&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">&lt;a name="h5138-1">&lt;/a>&lt;h1>AI-1&lt;/h1>
&lt;em>&lt;a href="http://lists.altlinux.ru/pipermail/devel/2005-May/021345.html" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink">&lt;img src="http://freesource.info/wiki/themes/coffee/icons/web.gif" alt="" border="0" />Stanislav Ievlev &amp;lt;inger@&amp;gt;&lt;/a>&lt;/em>&lt;br />
Привет всем!&lt;br />
С&amp;nbsp;этого письма начинается серия маленьких писем, призванных популярно и&amp;nbsp;доступно объяснить, что&amp;nbsp;же&amp;nbsp;такое alterator. Надеюсь, что&amp;nbsp;помимо того что&amp;nbsp;эти письма осядут в&amp;nbsp;архивах рассылки, кто-нибудь оформит всё это&amp;nbsp;в&amp;nbsp;wiki или&amp;nbsp;в&amp;nbsp;какую ещё документацию.&lt;br />
Alterator находится в&amp;nbsp;постоянном развитии, поэтому то&amp;nbsp;что было сказано сегодня, через месяц может стать уже&amp;nbsp;неактуальным, поэтому следите внимательно, дабы не&amp;nbsp;было потом недоразумений ;) &lt;em>(а ты&amp;nbsp;версии помечай ;)&lt;/em>&lt;a name="h5138-2">&lt;/a>&lt;h2>0. Немного истории&lt;/h2>
Надеюсь никто из&amp;nbsp;упомянутых ниже не&amp;nbsp;будет возмущаться от&amp;nbsp;скромности ;) Ведь именно они&amp;nbsp;стояли у&amp;nbsp;истоков сегодняшнего alterator, а&amp;nbsp;без знания прошлого делать будущего никак нельзя.&lt;br />
ALTerator &amp;mdash; это&amp;nbsp;гениальное изобретение Лёши Воинова (voins) и&amp;nbsp;Гоши Курячего (george); в&amp;nbsp;первоначальных обсуждениях, если не&amp;nbsp;ошибаюсь, ещё всегда принимал участие Лёша Гладков (legion), хотя в&amp;nbsp;Кольчуге он&amp;nbsp;формально задействован не&amp;nbsp;был.  Возник alterator в&amp;nbsp;недрах проекта ИВК-Кольчуга, и&amp;nbsp;первое его&amp;nbsp;воплощение можно там&amp;nbsp;наблюдать. Над&amp;nbsp;движком ALTerator в&amp;nbsp;рамках Кольчуги работали помимо выше означенных ещё Антон Качалов (mouse), Саша Николаев (avn), Лёша Турбин (at). Ну&amp;nbsp;и, конечно, была масса профессиональных сисадминов, которые закладывали все&amp;nbsp;собственно алгоритмы настройки. Подробности этой части работы пусть уже&amp;nbsp;рассказывает voins. Для&amp;nbsp;меня же&amp;nbsp;главное &amp;mdash; сам&amp;nbsp;alterator.&lt;br />
Вообще перечислять людей, сделавших тот&amp;nbsp;или иной вклад в&amp;nbsp;alterator, очень сложно, ибо&amp;nbsp;это значит перечислить практически всех. Не&amp;nbsp;одно дельное замечание подчас переворачивало только что&amp;nbsp;придуманную замечательную концепцию того или&amp;nbsp;иного компонента.&lt;br />
Ну&amp;nbsp;хватит заниматься ностальгией.&lt;br />
Чтобы хорошо понять alterator, надо сначала научиться говорить на&amp;nbsp;его языке, ибо&amp;nbsp;самая наглядная часть, диалог с&amp;nbsp;пользователем, да&amp;nbsp;и большая часть самого alterator, описывается на&amp;nbsp;нём.&lt;br />
Сразу спешу успокоить. Вообще говоря, одна из&amp;nbsp;неповторимых особенностей alterator состоит в&amp;nbsp;том, что&amp;nbsp;любой его&amp;nbsp;компонент можно написать на&amp;nbsp;любом языке программирования. Так, части, собственно занимающиеся конфигурированием системы, в&amp;nbsp;основном написаны на&amp;nbsp;языке, понятном любому администратору &amp;mdash; shell и&amp;nbsp;awk.&lt;br />
Но&amp;nbsp;всё-равно какой-то язык должен быть основным, а&amp;nbsp;у alterator таким языком является Scheme (я позволю себе называть его&amp;nbsp;просто Схема, чтобы реже переключаться с&amp;nbsp;одного языка на&amp;nbsp;другой).&lt;br />
Схема &amp;mdash; это&amp;nbsp;один из&amp;nbsp;диалектов хорошо известного семейства языков LISP.  LISP всегда существенно отличался от&amp;nbsp;других языков. И&amp;nbsp;не только несколько непривычным синтаксисом, но&amp;nbsp;и большим изяществом и&amp;nbsp;продуманностью.&lt;br />
Сразу порекомендую пользоваться нормальным текстовым редактором. Очень хорошо подойдёт vim&amp;nbsp;и&amp;nbsp;emacs. А&amp;nbsp;вот mcedit навсегда вас&amp;nbsp;отвадит от&amp;nbsp;этого языка.&lt;br />
&lt;ul>&lt;li> guile &amp;mdash; не&amp;nbsp;самый оптимальный по&amp;nbsp;скорости, но&amp;nbsp;зато непревзойдённый по&amp;nbsp;удобству интеграции с&amp;nbsp;C;
&lt;/li>&lt;li> gambit-c &amp;mdash; очень хороший компилятор, но&amp;nbsp;с бедноватым набором готовых библиотек;
&lt;/li>&lt;li> scheme48 &amp;mdash; один из&amp;nbsp;лучших интерпретаторов с&amp;nbsp;богатой библиотекой.&lt;/li>&lt;/ul>&lt;a name="h5138-3">&lt;/a>&lt;h2>2.1 О&amp;nbsp;порядке слов.&lt;/h2>
Итак, когда вы&amp;nbsp;захотите что-то сказать на&amp;nbsp;Схеме, сначала надо назвать функцию, а&amp;nbsp;потом перечислить, к&amp;nbsp;кому её применить.&lt;br />
Благодаря такому способу записи интерпретатор выражений получается очень простым и&amp;nbsp;компактным не&amp;nbsp;в пример C&lt;em>++&lt;/em>, где&amp;nbsp;развесистые выражения подчас способны свести с&amp;nbsp;ума как&amp;nbsp;разработчика, так&amp;nbsp;и&amp;nbsp;компилятор, да&amp;nbsp;и двусмысленность что&amp;nbsp;C, что&amp;nbsp;C++ &amp;mdash; тоже не&amp;nbsp;подарок. К&amp;nbsp;ней же&amp;nbsp;привыкли &amp;mdash; привыкните и&amp;nbsp;к Scheme.&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2005-07-20 00:36:20</title>
<link>http://freesource.info/wiki/AltLinux/Sisyphus/Alterator/internals/1/show?time=2005-07-20+00%3A36%3A20</link>
<description>&lt;div class="pageBefore">&lt;img src="http://freesource.info/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://freesource.info/wiki/AltLinux/Sisyphus/Alterator/internals/1&amp;" class="">/Alt&amp;nbsp;Linux&amp;nbsp;/&amp;nbsp;Sisyphus&amp;nbsp;/&amp;nbsp;Alterator&amp;nbsp;/&amp;nbsp;internals&amp;nbsp;/&amp;nbsp;1&lt;/a> за &lt;a href="http://freesource.info/wiki/AltLinux/Sisyphus/Alterator/internals/1?time=2005-07-20+00%3A36%3A20">2005-07-20 00:36:20&lt;/a> и &lt;a href="http://freesource.info/wiki/AltLinux/Sisyphus/Alterator/internals/1?time=2006-10-30+15%3A37%3A09">2006-10-30 15:37:09&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">Alterator находится в&amp;nbsp;постоянном развитии, поэтому то&amp;nbsp;что было сказано сегодня, через месяц может стать уже&amp;nbsp;неактуальным, поэтому следите внимательно, дабы не&amp;nbsp;было потом недоразумений ;) &lt;em>(а ты&amp;nbsp;версии помечай ;)&lt;/em>&lt;br />
ALTerator &amp;mdash; это&amp;nbsp;гениальное изобретение Лёши Воинова (voins) и&amp;nbsp;Гоши Курячего (george); в&amp;nbsp;первоначальных обсуждениях, если не&amp;nbsp;ошибаюсь, ещё всегда принимал участие Лёша Гладков (legion), хотя в&amp;nbsp;Кольчуге он&amp;nbsp;формально задействован не&amp;nbsp;был.  Возник alterator в&amp;nbsp;недрах проекта ИВК-Кольчуга, и&amp;nbsp;первое его&amp;nbsp;воплощение можно там&amp;nbsp;наблюдать. Над&amp;nbsp;движком ALTerator в&amp;nbsp;рамках Кольчуги работали помимо выше означенных ещё Антон Качалов (mouse), Саша Николаев (avn), Лёша Турбин (at). Ну&amp;nbsp;и, конечно, была масса профессиональных сисадминов, которые закладывали все&amp;nbsp;собственно алгоритмы настройки. Подробности этой части работы пусть уже&amp;nbsp;рассказывает voins. Для&amp;nbsp;меня же&amp;nbsp;главное &amp;mdash; сам&amp;nbsp;alterator.&lt;br />
Вообще перечислять людей, сделавших тот&amp;nbsp;или иной вклад в&amp;nbsp;alterator, очень сложно, ибо&amp;nbsp;это значит перечислить практически всех. Не&amp;nbsp;одно дельное замечание подчас переворачивало только что&amp;nbsp;придуманную замечательную концепцию того или&amp;nbsp;иного компонента.&lt;br />
Ну&amp;nbsp;хватит заниматься ностальгией.&lt;br />
Сразу спешу успокоить. Вообще говоря, одна из&amp;nbsp;неповторимых особенностей alterator состоит в&amp;nbsp;том, что&amp;nbsp;любой его&amp;nbsp;компонент можно написать на&amp;nbsp;любом языке программирования. Так, части, собственно занимающиеся конфигурированием системы, в&amp;nbsp;основном написаны на&amp;nbsp;языке, понятном любому администратору &amp;mdash; shell и&amp;nbsp;awk.&lt;br />
Схема &amp;mdash; это&amp;nbsp;один из&amp;nbsp;диалектов хорошо известного семейства языков LISP.  LISP всегда существенно отличался от&amp;nbsp;других языков. И&amp;nbsp;не только несколько непривычным синтаксисом, но&amp;nbsp;и большим изяществом и&amp;nbsp;продуманностью.&lt;br />
Сначала всем кажется, что&amp;nbsp;это ужасный язык с&amp;nbsp;гирляндами круглых скобок, однако при&amp;nbsp;более подробном знакомстве выясняется, что&amp;nbsp;это совсем не&amp;nbsp;проблема и&amp;nbsp;плюсы перевешивают этот единственный минус.&lt;br />
Всё это&amp;nbsp;разглагольствование отнюдь не&amp;nbsp;означает, что&amp;nbsp;все остальные языки по&amp;nbsp;боку. Portable Assembler C&amp;nbsp;ещё никто не&amp;nbsp;смог заменить ;)&lt;br />
Небольшое замечание в&amp;nbsp;сторону Сизифа: там, пожалуй, самая большая коллекция компиляторов и&amp;nbsp;интерпретаторов схемы. Их&amp;nbsp;пусть лучше представит их&amp;nbsp;мантейнер. Я&amp;nbsp;же хочу обратить внимание только на&amp;nbsp;три:&lt;br />
&lt;ul>&lt;li> guile &amp;mdash; не&amp;nbsp;самый оптимальный по&amp;nbsp;скорости, но&amp;nbsp;зато непревзойдённый по&amp;nbsp;удобству интеграции с&amp;nbsp;C;
&lt;/li>&lt;li> gambit-c &amp;mdash; очень хороший компилятор, но&amp;nbsp;с бедноватым набором готовых библиотек;
&lt;/li>&lt;li> scheme48 &amp;mdash; один из&amp;nbsp;лучших интерпретаторов с&amp;nbsp;богатой библиотекой.&lt;/li>&lt;/ul>
Одно и&amp;nbsp;то же&amp;nbsp;можно рассказать разными способами. Попытаемся рассказать разными способами про&amp;nbsp;операцию сложения двух чисел.&lt;br />
Способ 1: &lt;em>2 + 3&lt;/em> (или &amp;laquo;к двум прибавить три&amp;raquo;).&lt;br />
Не&amp;nbsp;самый удачный способ с&amp;nbsp;точки зрения математики и&amp;nbsp;языков программирования. Однако нас&amp;nbsp;приучают к&amp;nbsp;нему с&amp;nbsp;детства, так&amp;nbsp;же&amp;nbsp;как и&amp;nbsp;к десятичной системе счисления. Гораздо чаще произносится &amp;laquo;два плюс три&amp;raquo;, но&amp;nbsp;это скорее пословное оглашение записи, строго говоря &amp;mdash; лишённое какого либо смысла, ибо&amp;nbsp;плюсы бывают разными. Да&amp;nbsp;и с&amp;nbsp;точки зрения языков программирования, например того же&amp;nbsp;C, получается несколько неудачно, ибо&amp;nbsp;операция прибавления всё-таки обозначается как&amp;nbsp;+=. А&amp;nbsp;в C++  это&amp;nbsp;вообще может быть оформленно как&amp;nbsp;маловразумительная конструкция operator+().&lt;br />
Способ 2: &lt;em>2 3 +&lt;/em> (&amp;laquo;два и&amp;nbsp;три сложить&amp;raquo;).&lt;br />
Очень непривычный, но&amp;nbsp;удобный способ с&amp;nbsp;точки зрения математики. Известен также под&amp;nbsp;названием польская нотация (или польская запись).  Математическое удобство превращается в&amp;nbsp;то что&amp;nbsp;компиляторы и&amp;nbsp;интерпретаторы языков программирования, использующую такую нотацию получаются чрезвычайно компактными, что&amp;nbsp;позволяет их&amp;nbsp;&amp;laquo;засунуть&amp;raquo; в&amp;nbsp;кремний. Таким языком общается с&amp;nbsp;миром Форт и&amp;nbsp;Постскрипт.&lt;br />
Способ 3: &lt;em>+ 2 3&lt;/em> (&amp;laquo;сложить два&amp;nbsp;и&amp;nbsp;три&amp;raquo;).&lt;br />
Может быть, не&amp;nbsp;самый лучший с&amp;nbsp;точки зрения науки, зато самый естественный.  &amp;laquo;сложить два&amp;nbsp;и&amp;nbsp;три&amp;raquo; гораздо понятнее чем&amp;nbsp;&amp;laquo;два плюс три&amp;raquo;.  Это&amp;nbsp;не&amp;nbsp;случайно, ибо&amp;nbsp;это функциональный подход. Функция сложения применяется к&amp;nbsp;двум и&amp;nbsp;трём. В&amp;nbsp;общем, то&amp;nbsp;функция, пожалуй одно из&amp;nbsp;самых основных понятий современного мира.&lt;br />
Итак, когда вы&amp;nbsp;захотите что-то сказать на&amp;nbsp;Схеме, сначала надо назвать функцию, а&amp;nbsp;потом перечислить, к&amp;nbsp;кому её применить.&lt;br />
Собственно такая экономность и&amp;nbsp;регулярность в&amp;nbsp;синтаксисе LISP и&amp;nbsp;отпугивает от&amp;nbsp;него, но&amp;nbsp;как мы&amp;nbsp;увидим дальше, бедность и&amp;nbsp;регулярность синтаксиса &amp;mdash; это&amp;nbsp;ещё и&amp;nbsp;богатство, если бы&amp;nbsp;не она, то&amp;nbsp;не было бы&amp;nbsp;и удобного способа описания интерфейса.&lt;br />
Благодаря такому способу записи интерпретатор выражений получается очень простым и&amp;nbsp;компактным не&amp;nbsp;в пример C&lt;em>++&lt;/em>, где&amp;nbsp;развесистые выражения подчас способны свести с&amp;nbsp;ума как&amp;nbsp;разработчика, так&amp;nbsp;и&amp;nbsp;компилятор, да&amp;nbsp;и двусмысленность что&amp;nbsp;C, что&amp;nbsp;C++ &amp;mdash; тоже не&amp;nbsp;подарок. К&amp;nbsp;ней же&amp;nbsp;привыкли &amp;mdash; привыкните и&amp;nbsp;к Scheme.&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">Alterator находится в&amp;nbsp;постоянном развитии, поэтому то&amp;nbsp;что было сказано сегодня, через месяц может стать уже&amp;nbsp;неактуальным, поэтому следите внимательно, дабы не&amp;nbsp;было потом недоразумений ;)&lt;br />
ALTerator &amp;ndash; это&amp;nbsp;гениальное изобретение Лёши Воинова (voins) и&amp;nbsp;Гоши Курячего (george), в&amp;nbsp;первоначальных обсуждениях, если не&amp;nbsp;ошибаюсь, ещё всегда принимал участие Лёша Гладков (legion), хотя в&amp;nbsp;Кольчуге он&amp;nbsp;формально задействован не&amp;nbsp;был.  Возник alterator в&amp;nbsp;недрах проекта ИВК-Кольчуга, и&amp;nbsp;первое его&amp;nbsp;воплощение можно там&amp;nbsp;наблюдать. Над&amp;nbsp;движком ALTerator в&amp;nbsp;рамках Кольчуги работали помимо выше означенных ещё Антон Качалов (mouse), Саша Николаев (avn), Лёша Турбин (at). Ну&amp;nbsp;и конечно была масса профессиональных сисадминов, которые закладывали все&amp;nbsp;собственно алгоритмы настройки. Подробности этой части работы пусть уже&amp;nbsp;рассказывает voins. Для&amp;nbsp;меня же&amp;nbsp;главное &amp;ndash; сам&amp;nbsp;alterator.&lt;br />
Вообще перечислять людей, сделавших тот&amp;nbsp;или иной вклад в&amp;nbsp;alterator очень сложно, ибо&amp;nbsp;это значит перечислить практически всех. Не&amp;nbsp;одно дельное замечание подчас переворачивало только что&amp;nbsp;придуманную замечательную концепцию того или&amp;nbsp;иного компонента.&lt;br />
Ну&amp;nbsp;хватит, заниматься ностальгией.&lt;br />
Сразу спешу успокоить. Вообще говоря одна из&amp;nbsp;неповторимых особенностей alterator состоит в&amp;nbsp;том что&amp;nbsp;любой его&amp;nbsp;компонент можно написать на&amp;nbsp;любом языке программирования. Так&amp;nbsp;части, собственно занимающиеся конфигурированием системы в&amp;nbsp;основном написаны на&amp;nbsp;языке понятном любому администратору &amp;ndash; на&amp;nbsp;shell и&amp;nbsp;awk.&lt;br />
Схема &amp;ndash; это&amp;nbsp;один из&amp;nbsp;диалектов хорошо известного семейства языков LISP.  LISP всегда существенно отличался от&amp;nbsp;других языков. И&amp;nbsp;не только несколько непривычным синтаксисом, но&amp;nbsp;и большим изяществом и&amp;nbsp;продуманностью.&lt;br />
Сначала всем кажется что&amp;nbsp;это ужасный язык с&amp;nbsp;гирляндами круглых скобок, однако при&amp;nbsp;более подробном знакомстве выясняется, что&amp;nbsp;это совсем не&amp;nbsp;проблема и&amp;nbsp;плюсы перевешивают этот единственный минус.&lt;br />
Всё это&amp;nbsp;разглагольствование отнюдь не&amp;nbsp;означает, что&amp;nbsp;все остальные языки по&amp;nbsp;боку. Portable Assembler C&amp;nbsp;&amp;ndash; ещё никто не&amp;nbsp;смог заменить ;)&lt;br />
Небольшое замечание в&amp;nbsp;сторону Сизифа: В&amp;nbsp;Сизифе пожалуй самая большая коллекция компиляторов и&amp;nbsp;интерпретаторов схемы. Их&amp;nbsp;пусть лучше представит их&amp;nbsp;мантейнер. Я&amp;nbsp;же хочу обратить внимание только на&amp;nbsp;три:&lt;br />
* guile &amp;ndash; не&amp;nbsp;самый оптимальный по&amp;nbsp;скорости, но&amp;nbsp;зато непревзойдённый по&amp;nbsp;удобству интеграции с&amp;nbsp;C.&lt;br />
* gambit-c &amp;ndash; очень хороший компилятор, но&amp;nbsp;с бедноватым набором готовых библиотек&lt;br />
* scheme48 &amp;ndash; один из&amp;nbsp;лучших интерпретаторов с&amp;nbsp;богатой библиотекой.&lt;br />
Одно и&amp;nbsp;тоже можно рассказать разными способами. Попытаемся рассказать разными способами про&amp;nbsp;операцию сложения двух чисел.&lt;br />
Способ 1: &amp;laquo;2 + 3&amp;quot; или&amp;nbsp;&amp;laquo;К двум прибавить три&amp;raquo;.&lt;br />
Не&amp;nbsp;самый удачный способ с&amp;nbsp;точки зрения математики и&amp;nbsp;языков программирования. Однако нас&amp;nbsp;приучают к&amp;nbsp;нему с&amp;nbsp;детства также как&amp;nbsp;и&amp;nbsp;к десятичной системе счисления. Гораздо чаще произносится &amp;laquo;два плюс три&amp;raquo;, но&amp;nbsp;это скорее пословное оглашение записи, строго говоря лишённое какого либо смысла ибо&amp;nbsp;плюсы бывают разными. Да&amp;nbsp;и с&amp;nbsp;точки зрения языков программирования, например того же&amp;nbsp;C, получается несколько неудачно ибо&amp;nbsp;операция прибавления всё-таки обозначается как&amp;nbsp;+=. А&amp;nbsp;в C++  это&amp;nbsp;вообще может быть оформленно как&amp;nbsp;маловразумительная конструкция operator+().&lt;br />
Способ 2: &amp;laquo;23+" &amp;laquo;два и&amp;nbsp;три сложить&amp;raquo;&lt;br />
Очень непривычный, но&amp;nbsp;удобный способ с&amp;nbsp;точки зрения математики. Известен также под&amp;nbsp;названием польская нотация (или польская запись).  Математическое удобство превращается в&amp;nbsp;то что&amp;nbsp;компиляторы и&amp;nbsp;интерпретаторы языков программирования, использующую такую нотацию получаются чрезвычайно компактными, что&amp;nbsp;позволяет их&amp;nbsp;&amp;laquo;засунуть&amp;raquo; в&amp;nbsp;кремний.&lt;br />
Таким языком общается с&amp;nbsp;миром Форт и&amp;nbsp;Постскрипт.&lt;br />
Способ 3: "+23" &amp;laquo;сложить два&amp;nbsp;и&amp;nbsp;три&amp;raquo;.&lt;br />
Может быть не&amp;nbsp;самый лучший с&amp;nbsp;точки зрения науки, зато самый естественный.  &amp;laquo;сложить два&amp;nbsp;и&amp;nbsp;три&amp;raquo; гораздо понятнее чем&amp;nbsp;&amp;laquo;два плюс три&amp;raquo;.  Это&amp;nbsp;не&amp;nbsp;случайно, ибо&amp;nbsp;это функциональный подход. Функция сложения применяется к&amp;nbsp;двум и&amp;nbsp;трём. В&amp;nbsp;общем, то&amp;nbsp;функция, пожалуй одно из&amp;nbsp;самых основных понятий современного мира.&lt;br />
Итак, когда вы&amp;nbsp;захотите что-то сказать на&amp;nbsp;Схеме, сначала надо назвать функцию, а&amp;nbsp;потом перечислить к&amp;nbsp;кому её применить.&lt;br />
Собственно такая экономность и&amp;nbsp;регуларяность в&amp;nbsp;синтаксисе LISP и&amp;nbsp;отпугивает от&amp;nbsp;него, но&amp;nbsp;как мы&amp;nbsp;увидим дальше, бедность и&amp;nbsp;регулярность синтаксиса &amp;ndash; это&amp;nbsp;ещё и&amp;nbsp;богатство, если бы&amp;nbsp;не она, то&amp;nbsp;не было бы&amp;nbsp;удобного испособа описания интерфейса.&lt;br />
Благодаря такому способу записи интерпретатор выражений получается очень простым и&amp;nbsp;компактным не&amp;nbsp;в пример C&lt;em>++&lt;/em>, где&amp;nbsp;развесистые выражения подчас пособны свести с&amp;nbsp;ума как&amp;nbsp;разработчика, так&amp;nbsp;и&amp;nbsp;компилятор, да&amp;nbsp;и двусмысленность, что&amp;nbsp;C&amp;nbsp;что C++ тоже не&amp;nbsp;подарок. К&amp;nbsp;ней же&amp;nbsp;привыкли &amp;ndash; привыкните и&amp;nbsp;к Scheme.&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2005-07-19 22:04:08</title>
<link>http://freesource.info/wiki/AltLinux/Sisyphus/Alterator/internals/1/show?time=2005-07-19+22%3A04%3A08</link>
<description>&lt;div class="pageBefore">&lt;img src="http://freesource.info/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://freesource.info/wiki/AltLinux/Sisyphus/Alterator/internals/1&amp;" class="">/Alt&amp;nbsp;Linux&amp;nbsp;/&amp;nbsp;Sisyphus&amp;nbsp;/&amp;nbsp;Alterator&amp;nbsp;/&amp;nbsp;internals&amp;nbsp;/&amp;nbsp;1&lt;/a> за &lt;a href="http://freesource.info/wiki/AltLinux/Sisyphus/Alterator/internals/1?time=2005-07-19+22%3A04%3A08">2005-07-19 22:04:08&lt;/a> и &lt;a href="http://freesource.info/wiki/AltLinux/Sisyphus/Alterator/internals/1?time=2005-07-20+00%3A36%3A20">2005-07-20 00:36:20&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;a name="h5138-1">&lt;/a>&lt;h2>0. Немного истории&lt;/h2>
Но&amp;nbsp;всё-равно какой-то язык должен быть основным, а&amp;nbsp;у alterator таким языком является Scheme (я позволю себе называть его&amp;nbsp;просто Схема, чтобы реже переключаться с&amp;nbsp;одного языка на&amp;nbsp;другой).&lt;br />
Схема &amp;ndash; это&amp;nbsp;один из&amp;nbsp;диалектов хорошо известного семейства языков LISP.  LISP всегда существенно отличался от&amp;nbsp;других языков. И&amp;nbsp;не только несколько непривычным синтаксисом, но&amp;nbsp;и большим изяществом и&amp;nbsp;продуманностью.&lt;br />
Это&amp;nbsp;примерно как&amp;nbsp;с&amp;nbsp;поп-музыкой и&amp;nbsp;чем-то другим. Первая всегда быстро приходит и&amp;nbsp;также быстро уходит, а&amp;nbsp;вторая не&amp;nbsp;сразу придёт, зато никогда потом не&amp;nbsp;покинет ;)&lt;br />
Небольшое замечание в&amp;nbsp;сторону Сизифа: В&amp;nbsp;Сизифе пожалуй самая большая коллекция компиляторов и&amp;nbsp;интерпретаторов схемы. Их&amp;nbsp;пусть лучше представит их&amp;nbsp;мантейнер. Я&amp;nbsp;же хочу обратить внимание только на&amp;nbsp;три:&lt;br />
* gambit-c &amp;ndash; очень хороший компилятор, но&amp;nbsp;с бедноватым набором готовых библиотек&lt;a name="h5138-2">&lt;/a>&lt;h2>2.1 О&amp;nbsp;порядке слов.&lt;/h2>&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">&lt;a name="h5138-1">&lt;/a>&lt;h2>0. Немного истории.&lt;/h2>
Но&amp;nbsp;всё-равно какой-то язык должен быть основным, а&amp;nbsp;у alterator таким языком является Scheme (я позволю себе называть его&amp;nbsp;просто схема, чтобы реже переключаться с&amp;nbsp;одного языка на&amp;nbsp;другой).&lt;br />
Схема &amp;ndash; это&amp;nbsp;один из&amp;nbsp;диалектов хорошо известного семейства языков LISP.  LISP &amp;ndash; всегда существенно отличался от&amp;nbsp;других языков. И&amp;nbsp;не только несколько непривычным синтаксисом, но&amp;nbsp;и большим изяществом и&amp;nbsp;продуманностью.&lt;br />
Это&amp;nbsp;примерно как&amp;nbsp;с&amp;nbsp;поп-музыкой и&amp;nbsp;чем-то другим. Первая всегда быстро приходит и&amp;nbsp;также быстро уходит, а&amp;nbsp;вторая не&amp;nbsp;сразу прийдёт, зато никогда потом не&amp;nbsp;покинет ;)&lt;br />
Небольшое замечание в&amp;nbsp;сторону Сизифа: В&amp;nbsp;Сизифе пожалуй самая большая коллекция компиляторов и&amp;nbsp;интерпретаторов схемы. Их&amp;nbsp;пусть лучше предствавит их&amp;nbsp;мантейнер. Я&amp;nbsp;же хочу обратить внимание только на&amp;nbsp;три:&lt;br />
* gambit-c &amp;ndash; очень хороший компилятор, но&amp;nbsp;с бедноватым набором готовых бибилиотек&lt;a name="h5138-2">&lt;/a>&lt;h3>2.1 О&amp;nbsp;порядке слов.&lt;/h3>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2005-07-19 21:51:10</title>
<link>http://freesource.info/wiki/AltLinux/Sisyphus/Alterator/internals/1/show?time=2005-07-19+21%3A51%3A10</link>
<description>&lt;div class="pageBefore">&lt;img src="http://freesource.info/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://freesource.info/wiki/AltLinux/Sisyphus/Alterator/internals/1&amp;" class="">/Alt&amp;nbsp;Linux&amp;nbsp;/&amp;nbsp;Sisyphus&amp;nbsp;/&amp;nbsp;Alterator&amp;nbsp;/&amp;nbsp;internals&amp;nbsp;/&amp;nbsp;1&lt;/a> за &lt;a href="http://freesource.info/wiki/AltLinux/Sisyphus/Alterator/internals/1?time=2005-07-19+21%3A51%3A10">2005-07-19 21:51:10&lt;/a> и &lt;a href="http://freesource.info/wiki/AltLinux/Sisyphus/Alterator/internals/1?time=2005-07-19+22%3A04%3A08">2005-07-19 22:04:08&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;em>&lt;a href="http://lists.altlinux.ru/pipermail/devel/2005-May/021345.html" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink">&lt;img src="http://freesource.info/wiki/themes/coffee/icons/web.gif" alt="" border="0" />Stanislav Ievlev &amp;lt;inger@&amp;gt;&lt;/a>&lt;/em>&lt;a name="h5138-1">&lt;/a>&lt;h2>0. Немного истории.&lt;/h2>&lt;a name="h5138-2">&lt;/a>&lt;h2>1. Альфа и&amp;nbsp;Омега&lt;/h2>&lt;a name="h5138-3">&lt;/a>&lt;h3>2.1 О&amp;nbsp;порядке слов.&lt;/h3>&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">&lt;em>Stanislav Ievlev &amp;lt;inger@&amp;gt;&lt;/em>&lt;br />
1. Немного истории.&lt;br />
2. Альфа и&amp;nbsp;Омега&lt;br />
2.1 О&amp;nbsp;порядке слов.&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2005-07-19 21:46:30</title>
<link>http://freesource.info/wiki/AltLinux/Sisyphus/Alterator/internals/1/show?time=2005-07-19+21%3A46%3A30</link>
<description>&lt;div class="pageBefore">&lt;img src="http://freesource.info/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://freesource.info/wiki/AltLinux/Sisyphus/Alterator/internals/1&amp;" class="">/Alt&amp;nbsp;Linux&amp;nbsp;/&amp;nbsp;Sisyphus&amp;nbsp;/&amp;nbsp;Alterator&amp;nbsp;/&amp;nbsp;internals&amp;nbsp;/&amp;nbsp;1&lt;/a> за &lt;a href="http://freesource.info/wiki/AltLinux/Sisyphus/Alterator/internals/1?time=2005-07-19+21%3A46%3A30">2005-07-19 21:46:30&lt;/a> и &lt;a href="http://freesource.info/wiki/AltLinux/Sisyphus/Alterator/internals/1?time=2005-07-19+21%3A51%3A10">2005-07-19 21:51:10&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;span class="missingpage">Продолжение следует....&lt;/span>&lt;a href="http://freesource.info/wiki/2/edit?add=1&amp;" title="Создать эту страницу">?&lt;/a>&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">&lt;span class="missingpage">Продолжение следует....&lt;/span>&lt;a href="http://freesource.info/wiki/internals/2/edit?add=1&amp;" title="Создать эту страницу">?&lt;/a>&lt;/div>&lt;/div>
</description>
</item>
</channel>
</rss>
