Получи случайную криптовалюту за регистрацию!

Экспериментирую с DSL для описания SQL в виде s-expressions. Н | ~/Documents/journal

Экспериментирую с DSL для описания SQL в виде s-expressions.
На картинке пример SELECT, который поддерживает только указание колонок и таблицы.
В процессе метания между диалектами схемы и common lisp переписывал свой клиент к clickhouse по нескольку раз и мне это немного надоело, хочу попробовать упростить себе жизнь, сделав несколько макросов, которые позволят расширять DSL без изменения кода самой библиотеки.
На подобный подход вдохновило изучение исходников https://common-lisp.net/project/iterate/

Полный листинг: https://github.com/corpix/clx/blob/27b41762ea82377452f14e5fc60fa6a674b8f7ad/src/sql.lisp#L9

Кстати, у меня есть twitter, где я пишу почаще https://twitter.com/iamcorpix