Информация об изменениях

Сообщение Re[21]: Result objects - все-таки победили Exceptions? от 15.01.2025 15:34

Изменено 15.01.2025 15:43 Sinclair

Re[21]: Result objects - все-таки победили Exceptions?
Здравствуйте, T4r4sB, Вы писали:
TB>Я разрабатывал язык в котором по умолчанию любая функция шаблонная, которая по контексту определяет какие у неё параметры, сколько их и что она возвращает. Так вот это полный треш когда изменение в одной функции по цепочке приводило к тому, что компилятор что-то своё додумал в другом файле проекта и по итогу в лучшем случае ошибка компиляции, в худшем просто хрень выводится.
TB>А ещё малозаметные проблемы когда компилятор из-за незначительных нюансов для двух наборов параметров навыводил разные перегрузки (ну типа в одном случае он решил передавать копию потому что объект временный, а в другом ссылку), и в бинарнике появляются две почти одинаковые функции. Раздувание бинарника на пустом места.
TB>В языке был механизм явно указывать сигнатуру, который изначально был нужен лишь для экспорта функций. Но на деле оказалось что всю бизнес-логику тоже намного проще писать явными сигнатурами, потому что тогда компилятору меньше работы, и если он что-то понял не так, то он сообщает об этом максимально близко к источнику проблемы.
Кстати, есть отдельный набор вопросов, не относящихся к теме топика, про ваш язык и опыт его разработки.
1. Есть ли где-то публичное описание этого языка?
2. Поверх чего он исполняется (JVM, WASM, натив)?
3. Компилятор или интерпретатор?
2. Каким тулчейном вы пользовались при его разработке? Языки программирования, библиотеки/фреймворки для парсинга/семантического разбора?
Re[21]: Result objects - все-таки победили Exceptions?
Здравствуйте, T4r4sB, Вы писали:
TB>Я разрабатывал язык в котором по умолчанию любая функция шаблонная, которая по контексту определяет какие у неё параметры, сколько их и что она возвращает. Так вот это полный треш когда изменение в одной функции по цепочке приводило к тому, что компилятор что-то своё додумал в другом файле проекта и по итогу в лучшем случае ошибка компиляции, в худшем просто хрень выводится.
TB>А ещё малозаметные проблемы когда компилятор из-за незначительных нюансов для двух наборов параметров навыводил разные перегрузки (ну типа в одном случае он решил передавать копию потому что объект временный, а в другом ссылку), и в бинарнике появляются две почти одинаковые функции. Раздувание бинарника на пустом места.
TB>В языке был механизм явно указывать сигнатуру, который изначально был нужен лишь для экспорта функций. Но на деле оказалось что всю бизнес-логику тоже намного проще писать явными сигнатурами, потому что тогда компилятору меньше работы, и если он что-то понял не так, то он сообщает об этом максимально близко к источнику проблемы.
Кстати, есть отдельный набор вопросов, не относящихся к теме топика, про ваш язык и опыт его разработки.
1. Есть ли где-то публичное описание этого языка?
2. Поверх чего он исполняется (JVM, WASM, натив)?
3. Компилятор или интерпретатор?
4. Каким тулчейном вы пользовались при его разработке? Языки программирования, библиотеки/фреймворки для парсинга/семантического разбора?