1563
Обсуждение дизайна языков программирования (как новых, так и существующих). Литература: https://github.com/true-grue/Compiler-Development Создание и устройство компиляторов: @CompilerDev Для новичков: @pld_beginners
Вы про обозначения или про суть?😁
Читать полностью…
Это понятно. Но v = v соблюдается везде, поэтому uniqueness rule избыточны
Читать полностью…
Ну просто получается Г |- v : T => True, что верно всегда
Читать полностью…
Я отвечал в контексте вопроса про uniqueness rule
Читать полностью…
Правда если у вас такое выполняется, то у вас в системе глобальная лажа
Читать полностью…
Может выполняться. Зависит от остальных правил вашей системы
Читать полностью…
Если у вас есть правила дробяме, то каждое правило в agda/lean/rocq будет конструктором индуктивного типа.
Можно начать с того чтобы перевести дроби в такой индуктивный тип.
Точно работает хорошо, например в .net
Читать полностью…
Класс)
А в вм можно будет динамически создавать функции, классы (если предусмотрены) и подобные конструкции?)
Мне это в js безумно нравится
Где вы увидели что я в функции собираюсь что-то регулярками искать/переписывать???
И ни о каких goto речи вообще не было.
Пример с регулярками был дан как аналогия. Не более.
Моя идея скорее о макросах и патмате.
@artemkot4 @vexoxoid
В случае vm идея с построением ast из байт кода наверное работает хорошо, если заняться реализацией, но в случае натива нужно очень много думать
Читать полностью…
Понимаю. У меня язык на llvm, поэтому отталкиваюсь от своего опыта
Читать полностью…
Суть в том, чтобы представить общее представление ast, которое будет стабильно и предоставить программисту удобный интерфейс без знаний того, как работает язык в более низком представлении
Читать полностью…
То есть я пишу но в общем так вроде не пишут
Читать полностью…
Так в uniqueness не пишут
v = vИ я не пишу
На всякий случай:
В заключении правила uniqueness rule говорится об эквивалентности значений какого-то типа. Не типов.
Я спрашиваю в контексте uniqueness rule. Вы задаете для каждого типа значений по отдельности что для них соблюдается эквивалентность. Это значит что в каких-то случаях она не соблюдается. В каких?
Читать полностью…
Они могут быть не равными самим себе как NaN конечно, но эквивалентность то более сильное свойство...
Читать полностью…
Так погодите, а какие значения в принципе могут быть не эквивалентными самим себе???
Читать полностью…
Если оно выполняется при наличии uniqueness rule, то с вашим uniqueness rule какая-то лажа
Читать полностью…
Где дотнет строит ast из байткода? Речь о декомпиляторах типа ilspy?
Читать полностью…
Кстати, а ты язык будешь делать под свою вм или вм другого языка, или может натив?
Читать полностью…
Сам llvm просто абстракция над компиляцией в целевые платформы, но машинный код это уже результат, и далеко не обобщённый
Читать полностью…
llvm не vm, извините, хотя могу себе представить что кто-то патчит llvm ir
Читать полностью…
Когда мы декомпилируем, то уже ни о какой стабильности речи идти не может. Да и вмки не особо низкоуровневые обычно, ну JVM
Читать полностью…
Ну то есть декомпиляция => изменение => компиляция это лишний шаг
Читать полностью…