Size: a a a

Compiler Development

2020 March 27

DP

Dmitry Ponyatov in Compiler Development
кто там хотел язык писать?
как один из вариантов — реализовать язык-расширение для Postgres c компиляцией через LLVM

оно само может использовать внутри JIT: https://postgrespro.ru/docs/postgresql/11/jit-reason
но можно и свой server-side язык для какой-нибудь области делать, что-нибудь из модного типа bigdata/ML, или для процессинга данных в ГИС-системах
источник

Т8

Т-34 85 in Compiler Development
Andrei Kurosh
This is actually a russian-speaking channel. So while a particular question or two are alright, starting a whole discussion in english is discouraged
Just He(she) uses Google the Translate :)
источник

AK

Andrei Kurosh in Compiler Development
Т-34 85
Just He(she) uses Google the Translate :)
Я что только что сказал про начало беседы на английском?
источник

YS

Yaroslav Schekin in Compiler Development
Dmitry Ponyatov
кто там хотел язык писать?
как один из вариантов — реализовать язык-расширение для Postgres c компиляцией через LLVM

оно само может использовать внутри JIT: https://postgrespro.ru/docs/postgresql/11/jit-reason
но можно и свой server-side язык для какой-нибудь области делать, что-нибудь из модного типа bigdata/ML, или для процессинга данных в ГИС-системах
> реализовать язык-расширение для Postgres c компиляцией через LLVM
Учтите, что уже есть: https://wiki.postgresql.org/wiki/PL_Matrix

> оно само может использовать внутри JIT
Если бы какой-то добрый и профессиональный человек подключился к развитию этого использования, разработчики PostgreSQL были бы совсем не против, я практически уверен. ;)

> что-нибудь из модного типа bigdata/ML,
В этой матрице (по ссылке) есть PL/R (но я не пользовался).

> или для процессинга данных в ГИС-системах
А для этого — целый проект postgis.
источник

EO

Eugene Obrezkov in Compiler Development
ребят, а никто не может посоветовать какой-то DSL, который значительно упрощает работу с JSON?

Что мне нужно... у меня есть, скажем так, SDK\набор модулей и фасад к нему. Этот фасад одним большим JSON принимает конфигурацию, из которой потом создается окружение - new Facade(HUGE_JSON_OBJECT_HERE).

Проблема в том, что читать, а тем более крафтить, большие JSON не очень приятная задача.

Поэтому я смотрю в сторону разработки либо своего DSL, либо уже есть готовый для таких нужд?
источник

AT

Alexander Tchitchigin in Compiler Development
jq?
источник

EO

Eugene Obrezkov in Compiler Development
jq же только про выборку, не?
источник

AT

Alexander Tchitchigin in Compiler Development
Eugene Obrezkov
jq же только про выборку, не?
Наверное. А что нужно-то? 😊
источник

EO

Eugene Obrezkov in Compiler Development
мне нужно, наоборот, крафтить JSON из DSL
источник

AT

Alexander Tchitchigin in Compiler Development
Eugene Obrezkov
мне нужно, наоборот, крафтить JSON из DSL
Мне кажется, самый адекватный вариант - это генерировать JSON из вменяемых моделей (доменных или типа того). 😊
источник

EO

Eugene Obrezkov in Compiler Development
не понял, раскрой подробнее вопрос :)
источник

EO

Eugene Obrezkov in Compiler Development
доменная модель у меня - это, грубо говоря, большая коллекция фигур, которые можно декларативно объявить

вот только "декларативно" - это в JSON

а хочется что-то более удобно для работы с коллекциями
источник

AT

Alexander Tchitchigin in Compiler Development
Но если прям люто хочется "крафтить" JSON "руками", можно посмотреть на билдеры в Kotlin/Groovy/Ruby.
источник

AT

Alexander Tchitchigin in Compiler Development
Eugene Obrezkov
доменная модель у меня - это, грубо говоря, большая коллекция фигур, которые можно декларативно объявить

вот только "декларативно" - это в JSON

а хочется что-то более удобно для работы с коллекциями
Они же представлены в виде структур/классов? Или как?
источник

EO

Eugene Obrezkov in Compiler Development
Alexander Tchitchigin
Они же представлены в виде структур/классов? Или как?
да, каждая фигура обладает своим классом и описаны сериализаторы\десериализаторы
источник

EO

Eugene Obrezkov in Compiler Development
ну и в том числе интерфейсы, как эти фигуры должны выглядеть
источник

AK

Andrei Kurosh in Compiler Development
Почему бы не сделать просто объектную модель достаточного уровня абстракции, которая бы знала как сериализоваться в JSON?
источник

AT

Alexander Tchitchigin in Compiler Development
А вообще, лучше бы Вы описали workflow, который хотите получить, а то непонятно что к чему. 😊
источник

EO

Eugene Obrezkov in Compiler Development
ещё лучше - я сейчас ссылку кину на то что у меня есть (это пет проект)
источник

EO

Eugene Obrezkov in Compiler Development
источник