<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Реализация языка Lisp на GNU sed</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/96519.html</link>
    <description>Опубликован (https://github.com/shinh/sedlisp) интерпретатор Lisp, написанный с использованием языка утилиты GNU sed. Реализация занимает около 600 строк кода (https://github.com/shinh/sedlisp/blob/master/sedlisp.sed). &lt;br&gt;Поддерживаются следующие функции, операторы и выражения: car,&lt;br&gt;    cdr,&lt;br&gt;    cons,&lt;br&gt;    eq,&lt;br&gt;    atom,&lt;br&gt;    +, -, *, /, mod,&lt;br&gt;    neg?,&lt;br&gt;    print,&lt;br&gt;    quote,&lt;br&gt;    if,&lt;br&gt;    lambda,&lt;br&gt;    defun и&lt;br&gt;    define.&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;lt;font color=&quot;#461b7e&quot;&amp;gt;&lt;br&gt;$ sed -f sedlisp.sed  &lt;br&gt;&amp;gt; (car (quote (a b c)))&lt;br&gt;a&lt;br&gt;&amp;gt; (cdr (quote (a b c)))&lt;br&gt;(b c)&lt;br&gt;&amp;gt; (cons 1 (cons 2 (cons 3 ())))&lt;br&gt;(1 2 3)&lt;br&gt;&amp;gt; (defun fact (n) (if (eq n 0) 1 (* n (fact (- n 1)))))&lt;br&gt;(lambda (n) (if (eq n 0) 1 (* n (fact (- n 1)))))&lt;br&gt;&amp;gt; (fact 10)&lt;br&gt;3628800&lt;br&gt;&amp;gt; (defun fib (n) (if (eq n 1) 1 (if (eq n 0) 1 (+ (fib (- n 1)) (fib (- n 2))))))&lt;br&gt;(lambda (n) (if (eq n 1) 1 (if (eq n 0) 1 (+ (fib (- n 1)) (fib (- n 2))))))&lt;br&gt;&amp;gt; (fib 12)&lt;br&gt;233&lt;br&gt;&amp;gt; (defun gen (n) ((lambda (x y) y) (define G n) (lambda (m) (define G (+ G m)))))&lt;br&gt;(lambda (n) ((lambda (x y) y) (define G n) (lambda</description>

<item>
    <title>Реализация языка Lisp на GNU sed (Аноним)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/96519.html#193</link>
    <pubDate>Fri, 04 Jul 2014 06:56:02 GMT</pubDate>
    <description>&amp;gt;онаним,&lt;br&gt;&amp;gt; в руках-то держали? &lt;br&gt;&lt;br&gt;эта одноглазая змея &amp;#8212; не питон&lt;br&gt;</description>
</item>

<item>
    <title>Реализация языка Lisp на GNU sed (arisu)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/96519.html#192</link>
    <pubDate>Wed, 02 Jul 2014 11:50:59 GMT</pubDate>
    <description>я в курсе, что идиотичный цпп так сделан. я не понимаю, зачем (ну, если исключить правильный вариант: страус &amp;#8212; дебил).&lt;br&gt;</description>
</item>

<item>
    <title>Реализация языка Lisp на GNU sed (metallica)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/96519.html#191</link>
    <pubDate>Wed, 02 Jul 2014 11:28:17 GMT</pubDate>
    <description>&lt;br&gt;&amp;gt;&amp;gt; - зачем использовать delete&#091;&#093;, если и с delete всё работает; &lt;br&gt;&amp;gt;&amp;gt; - что означает двухстраничная галиматья от GCC с обилием &apos;&amp;lt;&apos; и &apos;&amp;gt;&apos;; &lt;br&gt;&amp;gt; это я тоже не понимаю.&lt;br&gt;&lt;br&gt;Так в стандарте положено, и компилятор оставляет за собой право&lt;br&gt;не вызывать деструктор для каждого класса в массиве, если последнему&lt;br&gt;делается delete вместо delete&#091;&#093;. Но для простого char&#091;&#093; конечно, &lt;br&gt;достаточно delete в любом компиляторе.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Реализация языка Lisp на GNU sed (eganru)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/96519.html#190</link>
    <pubDate>Wed, 02 Jul 2014 10:51:46 GMT</pubDate>
    <description>Откуда у Вас такие данные?&lt;br&gt;даже в том же microchip.su большая часть пользователей пишет проекты на asm или на С с asm вставками.&lt;br&gt;кучу вещей куда как проще писать на asm, чем на чистом C.&lt;br&gt;</description>
</item>

<item>
    <title>Реализация языка Lisp на GNU sed (Andrew Kolchoogin)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/96519.html#189</link>
    <pubDate>Wed, 02 Jul 2014 10:27:01 GMT</pubDate>
    <description>&amp;gt; Только лучше уже с косвенным шитым кодом.&lt;br&gt;&lt;br&gt;Наверное, имелся в виду свёрнутый шитый код.&lt;br&gt;&lt;br&gt;Я не думаю, что кому-то понадобится больше 65 536 адресных точек вхождения в словарь. Соответственно, всё, что 32- и 64-бита, лучше реализовывать свёрнутым шитым кодом, overhead на разыменование поля таблицы свёрток с лихвой окупится тем, что вся она будет закеширована.&lt;br&gt;</description>
</item>

<item>
    <title>Реализация языка Lisp на GNU sed (Nikolay Orliuk)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/96519.html#188</link>
    <pubDate>Wed, 02 Jul 2014 10:02:09 GMT</pubDate>
    <description>&amp;gt;&amp;gt; А мне больше нравился GP-Forth &lt;br&gt;&amp;gt; он 16-битный и невиндовый. вдобавок был без исходников, что автоматически исключало его &lt;br&gt;&amp;gt; из рассмотрения.&lt;br&gt;&lt;br&gt;Там были исходники ассемблерной части насколько я помню. А для шитого кода там был просмотрщик, кажется.&lt;br&gt;Та версия SP-Forth что у меня была тоже была 16-битной. Там транслятор ассемблера был жестко зашит и никакой поддержки винды небыло на то время.&lt;br&gt;&lt;br&gt;Подобную вещь можно под 64-битную платформу написать легко, мне кажется. Только лучше уже с косвенным шитым кодом.&lt;br&gt;</description>
</item>

<item>
    <title>Реализация языка Lisp на GNU sed (arisu)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/96519.html#187</link>
    <pubDate>Wed, 02 Jul 2014 08:34:57 GMT</pubDate>
    <description>&amp;gt; А мне больше нравился GP-Forth&lt;br&gt;&lt;br&gt;он 16-битный и невиндовый. вдобавок был без исходников, что автоматически исключало его из рассмотрения.&lt;br&gt;</description>
</item>

<item>
    <title>Реализация языка Lisp на GNU sed (Nikolay Orliuk)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/96519.html#186</link>
    <pubDate>Wed, 02 Jul 2014 08:33:20 GMT</pubDate>
    <description>А мне больше нравился GP-Forth (у меня был 93.8) в отличии от SP-Forth он не генерировал машинный код, а писал шитий 2-байтный (прямая адресация).&lt;br&gt;А ещё я видел snobol.&lt;br&gt;Но диназавром я как-то не готов ещё называтся.&lt;br&gt;</description>
</item>

<item>
    <title>Реализация языка Lisp на GNU sed (Vkni)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/96519.html#185</link>
    <pubDate>Wed, 02 Jul 2014 02:27:15 GMT</pubDate>
    <description>&amp;gt; - зачем использовать delete&#091;&#093;, если и с delete всё работает; &lt;br&gt;&lt;br&gt;Зачастую всё работает даже тогда, когда ни delete, ни delete &#091;&#093; не используются (и free() тоже :-).&lt;br&gt;</description>
</item>

</channel>
</rss>
