Size: a a a

Compiler Development

2019 December 30

AV

Alexey Veselovsky in Compiler Development
Михаил Бахтерев
Вот в Scheme так было. В итоге решили, что с зоопарком надо покончить.
то, что кто-то не смог, не означает что другие не смогут 🙂
источник

PS

Peter Sovietov in Compiler Development
Михаил Бахтерев
А есть хорошие примеры таких компиляторов?
источник

МБ

Михаил Бахтерев in Compiler Development
Alexey Veselovsky
то, что кто-то не смог, не означает что другие не смогут 🙂
Хм... Не понятно, чем другие будут отличаться. Очевидно, что такое решение приведёт к зоопарку диалектов и непереносимости кода.
источник

AV

Alexey Veselovsky in Compiler Development
Михаил Бахтерев
Хм... Не понятно, чем другие будут отличаться. Очевидно, что такое решение приведёт к зоопарку диалектов и непереносимости кода.
у Ады не привело например.
источник

AV

Alexey Veselovsky in Compiler Development
просто не надо такой подход возводить в абсолют
источник

AV

Alexey Veselovsky in Compiler Development
а лисперы любят это дело
источник

AK

Andrei Kurosh in Compiler Development
FORTRAN ONE LOVE
Вот тут пара диаграмок про то, чем реально занимаются суперкомпьютеры.  вся(!) квантовая химия хочет иметь адекватные имплементации комплексных чисел для быстрых расчетов магнитных материалов.
«В мое отсутствие сгорела вся моя личная библиотека - обе книги»?
источник

МБ

Михаил Бахтерев in Compiler Development
Да не. Просто интерпретатор Схемы написать проще, чем компилятор Ada :)
источник

AV

Alexey Veselovsky in Compiler Development
Михаил Бахтерев
Да не. Просто интерпретатор Схемы написать проще, чем компилятор Ada :)
да, это проблема мелких языков. Скажем у Оберона что ни реализация - то диалект. А реализаций конкретно много. Каждый год появляется как минимум еще одна, а то и несколько.

и это при том, что язык не подразумевает расширизмов сам по себе 🙂
источник

PS

Peter Sovietov in Compiler Development
Это и благо. Разработчики расширяют небольшие языки под свои нужды, а не ждут годами решений важных людей из комитетов.
источник

FO

FORTRAN ONE LOVE in Compiler Development
Andrei Kurosh
«В мое отсутствие сгорела вся моя личная библиотека - обе книги»?
Не очень понял(
источник

AV

Alexey Veselovsky in Compiler Development
Peter Sovietov
Это и благо. Разработчики расширяют небольшие языки под свои нужды, а не ждут годами решений важных людей из комитетов.
ага, только это таки разные языки. под каждую реализацию приходится портировать любое приложение крупнее хелло ворлда. а иногда и хелло ворлды портировать приходится
источник

AV

Alexey Veselovsky in Compiler Development
поэтому не образуется общей критической кодовой базы библиотек и общего кода
источник

DP

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

МБ

Михаил Бахтерев in Compiler Development
Alexey Veselovsky
да, это проблема мелких языков. Скажем у Оберона что ни реализация - то диалект. А реализаций конкретно много. Каждый год появляется как минимум еще одна, а то и несколько.

и это при том, что язык не подразумевает расширизмов сам по себе 🙂
У Схемы был стандарт в таком вот стиле: что есть минимум, а есть необязательные расширения. Все делали минимум и какой-то набор расширений, который был по душе. В итоге, начались проблемы несовместимости. Это были стандартные расширения, но наборы не совпадали. Поэтому пришлось стандартизировать две версии языка: маленькую и большую. Без свободы в выборе расширений.
источник

AV

Alexey Veselovsky in Compiler Development
Михаил Бахтерев
У Схемы был стандарт в таком вот стиле: что есть минимум, а есть необязательные расширения. Все делали минимум и какой-то набор расширений, который был по душе. В итоге, начались проблемы несовместимости. Это были стандартные расширения, но наборы не совпадали. Поэтому пришлось стандартизировать две версии языка: маленькую и большую. Без свободы в выборе расширений.
там минимум видимо был слишком минимальный 🙂
источник

МБ

Михаил Бахтерев in Compiler Development
Alexey Veselovsky
там минимум видимо был слишком минимальный 🙂
Да нет. Там даже были комплексные числа :)
источник

AV

Alexey Veselovsky in Compiler Development
Михаил Бахтерев
Да нет. Там даже были комплексные числа :)
источник

PS

Peter Sovietov in Compiler Development
Alexey Veselovsky
ага, только это таки разные языки. под каждую реализацию приходится портировать любое приложение крупнее хелло ворлда. а иногда и хелло ворлды портировать приходится
Так уж и любое приложение. Я бы с удовольствием взял Astrobe для программирования упомянутого STM32: https://www.astrobe.com/
Там, по сути, виртовский Оберон и используется, без каких-то особенных расширений.
источник

DP

Dmitry Ponyatov in Compiler Development
Peter Sovietov
Вопрос в том, как подбить ООП-людей в это влезть. Они ведь просто создадут класс TreeWalker, определят там методы preorder, postorder и так далее.
сработает, если дать богатый pattern matching по графу (дереву) объектов
очень приятно было бы определить граф-шаблон, и сказать ему Template варись: AST
источник