Size: a a a

Compiler Development

2020 February 01

SS

Sergey Sverdlov in Compiler Development
источник

АУ

Анна Удовиченко in Compiler Development
Ivan Kochurkin
Ничего особо не пропустила, а про Хуавей рассказывал тебе ранее)
Ты про анализаторы рассказывал какие-то, а тут говорят, прям язык свой пилят
источник

AK

Andrei Kurosh in Compiler Development
Алексей
почему?
Потому что их уже и так слишком много :)
источник

А

Алексей in Compiler Development
Andrei Kurosh
Потому что их уже и так слишком много :)
Как будто статических мало
источник

C

Constantine in Compiler Development
Чтож, выхоодит не надо больше делать языки программирования🌝
источник

МБ

Михаил Бахтерев in Compiler Development
Constantine
Чтож, выхоодит не надо больше делать языки программирования🌝
Кто знает? Но очень бы хотелось, чтобы авторы хотя бы понимали, что именно они делают. В процессе чтения книжек фантазии резко убавляется.
источник

DP

Dmitry Ponyatov in Compiler Development
можно языки метапрограммирования, маловато будет
вот они как раз должны быть только диманическими
источник

AK

Andrei Kurosh in Compiler Development
Алексей
Как будто статических мало
В области статической типизации есть куда двигаться и что исследовать, а динамическая в данном контексте является, по сути, отсутствием статической со всеми вытекающими. Можно конечно исследовать оптимизацию исполнения, A.K.A. разгребать то что наворотили дизайнеры, но это не меняет семантику, поэтому опять же новый язык не нужен, можно к существующим прикручивать
источник

А

Алексей in Compiler Development
Andrei Kurosh
В области статической типизации есть куда двигаться и что исследовать, а динамическая в данном контексте является, по сути, отсутствием статической со всеми вытекающими. Можно конечно исследовать оптимизацию исполнения, A.K.A. разгребать то что наворотили дизайнеры, но это не меняет семантику, поэтому опять же новый язык не нужен, можно к существующим прикручивать
Не все языки для исследования делаются
источник

AK

Andrei Kurosh in Compiler Development
Алексей
Не все языки для исследования делаются
Хорошо, в каком контексте изобретение нового ДТ-языка оправдано?
источник

DP

Dmitry Ponyatov in Compiler Development
Andrei Kurosh
Хорошо, в каком контексте изобретение нового ДТ-языка оправдано?
прототипирование? — быстро написать, и получить практический результат, не упарываясь с теорией категорий и системами типизаций (что втч увеличивает сложность проекта на порядок)
источник

DP

Dmitry Ponyatov in Compiler Development
Dmitry Ponyatov
прототипирование? — быстро написать, и получить практический результат, не упарываясь с теорией категорий и системами типизаций (что втч увеличивает сложность проекта на порядок)
валидность сгенерированного выходного кода при этом могут проверять другие реализации языков, и системы статического анализа
источник

FO

FORTRAN ONE LOVE in Compiler Development
Dmitry Ponyatov
валидность сгенерированного выходного кода при этом могут проверять другие реализации языков, и системы статического анализа
Вы же понимаете, что вместо адекватного интерпретатора/компилятора, Вы получите такой себе компилятор/интерпретатор и нормальный стат.анализатор, который все-таки придется писать?..
источник

DP

Dmitry Ponyatov in Compiler Development
FORTRAN ONE LOVE
Вы же понимаете, что вместо адекватного интерпретатора/компилятора, Вы получите такой себе компилятор/интерпретатор и нормальный стат.анализатор, который все-таки придется писать?..
пишете генератор на Python, выплевывайте Haskell — транслируете входную спецификацию нужного кода, можете легко менять обработки, выход проверяете готовыми средствами
источник

FO

FORTRAN ONE LOVE in Compiler Development
О. Хороший способ :) Но придется мудрить с тем, чтобы Ваш ЯП мог быть транспилирован в интересующий Вас язык...

Ну и раз речь о питоне, почему бы его и не использовать?
источник

DP

Dmitry Ponyatov in Compiler Development
FORTRAN ONE LOVE
О. Хороший способ :) Но придется мудрить с тем, чтобы Ваш ЯП мог быть транспилирован в интересующий Вас язык...

Ну и раз речь о питоне, почему бы его и не использовать?
и получить метациркулярный супертранспилятор хе хе :_)
источник

AK

Andrei Kurosh in Compiler Development
Dmitry Ponyatov
прототипирование? — быстро написать, и получить практический результат, не упарываясь с теорией категорий и системами типизаций (что втч увеличивает сложность проекта на порядок)
Для того, чтобы на новом языке можно было быстро и удобно что-то прототипировать, в него нужно upfront вбухать тысячи человекочасов
источник

DP

Dmitry Ponyatov in Compiler Development
Andrei Kurosh
Для того, чтобы на новом языке можно было быстро и удобно что-то прототипировать, в него нужно upfront вбухать тысячи человекочасов
в наработку навыков компиляторщика — да, конечно. техника явно не для джуниора или загруженного задачами мидла, которым проще готовый код вручную налопатить
второе обязательное условие — решение однотипных задач годами, опердень, автоматизация эксперимента, системы учета, умный (дур)дом и т.п.
оба два собственно и определяют смысл и целесообразность разработки нового языка: специализированное решение для +\- узкого круга задач, DSL
источник

DP

Dmitry Ponyatov in Compiler Development
Dmitry Ponyatov
в наработку навыков компиляторщика — да, конечно. техника явно не для джуниора или загруженного задачами мидла, которым проще готовый код вручную налопатить
второе обязательное условие — решение однотипных задач годами, опердень, автоматизация эксперимента, системы учета, умный (дур)дом и т.п.
оба два собственно и определяют смысл и целесообразность разработки нового языка: специализированное решение для +\- узкого круга задач, DSL
как пример, 1С — как язык и платформа жуткое буээ, но оно на коне и задавило даже Java, потому что эффективно покрывает свою нишу
источник

AK

Andrei Kurosh in Compiler Development
Dmitry Ponyatov
как пример, 1С — как язык и платформа жуткое буээ, но оно на коне и задавило даже Java, потому что эффективно покрывает свою нишу
Ну вот я примерно об этом и говорю. Решение задачи с помощью создания нового языка требует изначального вложения огромных усилий. Чтобы они в долгосрочной перспективе окупились, это должна быть чертовски широкая область с реальными проблемами, а таких осталось мало. Да и кроме того, зачастую можно гораздо проще решить вопрос не языком, а библиотекой с набором методов/функций, формирующих некий embedded DSL
источник