<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Проекты on Алексей Вересов</title><link>https://veresov.pro/ru/projects/</link><description>Recent content in Проекты on Алексей Вересов</description><generator>Hugo</generator><language>ru</language><lastBuildDate>Wed, 01 Jun 2022 00:00:00 +0000</lastBuildDate><atom:link href="https://veresov.pro/ru/projects/index.xml" rel="self" type="application/rss+xml"/><item><title>CSX</title><link>https://veresov.pro/ru/projects/csx/</link><pubDate>Wed, 01 Jun 2022 00:00:00 +0000</pubDate><guid>https://veresov.pro/ru/projects/csx/</guid><description>&lt;p&gt;Я думаю это интересный пример того, как даже простой и очень ограничивающий язык может оказаться достаточно гибким, что бы в его рамках подражать языку столь всепрощающему как Лисп.&lt;/p&gt;
&lt;p&gt;Исходники доступны на &lt;a href="https://github.com/aversey/csx"&gt;GitHub&lt;/a&gt;.
Саму работу можно прочитать &lt;a href="https://veresov.pro/ru/projects/csx/veresov-csx.pdf"&gt;тут&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Вкратце, все лисповские объекты представляются с помощью жирных указателей по &lt;code&gt;void*&lt;/code&gt;, а vararg-функции позволяют использовать привычную списочную нотацию Лиспа.
0 используется в качестве маркера конца списка, так как все объекты &amp;mdash; это указатели; а валидный указатель быть 0 не может.
Библиотека позволяют писать такой код, смешивающий стили программирования на Си и Лиспе:&lt;/p&gt;</description></item></channel></rss>