Size: a a a

Compiler Development

2021 April 03

ДК

Дмитрий К in Compiler Development
MrSmith
Я наверное не правильно обьяснил я говорю о компиляторе полностью контролируемым программистом вплоть до конкретных оптимизаций
Это перекликается с моей идеей мета языка, где можно не только идиомы подключать как библиотеки, но и различные трансформации, в том числе оптимизации. То есть весь язык - это не более чем описание как путём различных трансформаций получить некий бинарник. Подключил оптимизацию хвостовой рекурсии - она будет. Не подключил - выедаешь стек. Подключил понижение до JS - получил идиоматичный скрипт, подключил WASM - получил бинарник. И как такового компилятора получается что нет - есть только интерпретатор времени компиляции.
источник

M

MrSmith in Compiler Development
Это хоть с чем перекликается как графы
источник

M

MrSmith in Compiler Development
Пока у меня нет на это времени но я и не готов это делать потому что даже не представляю как
источник

AT

Alexander Tchitchigi... in Compiler Development
K R
Реально до этого диалога дико далеко:

1. Поддержка диалога требует поддержки VCS - иначе на enterprise системах будет непонятно, что же хотели 10 лет назад.

2. Пример с С++ в том, что и так сложно.
В общем-то, согласен по обоим пунктам, но мне кажется, это аргумент за то, чтобы работать в этом направлении, а не бросать как есть.
источник

M

MrSmith in Compiler Development
VCS что и зачем это если мы говорим о компиляции
источник

M

MrSmith in Compiler Development
Как понять что у нас сменилась версия гайд скрипта
источник

M

MrSmith in Compiler Development
Получается надо как то понимать что теже флаги дали другой результат.
Вариант с фиксацией версий глобально я бы откинул, потому что сейчас все так или иначе на сервере, тот же раст будет через неделю плевать ошибками а возвращаться к такому больно
источник

M

MrSmith in Compiler Development
Есть какие то идеи как гарантировать для преобразований  A'ir -t1-> B'ir репродуцируемость?
источник

M

MrSmith in Compiler Development
Хеш посчитать как я понимаю нельзя, потому что у нас что то может поменяться внутри цикла, к примеру, и это не влияет на анролинг вообщем.
источник

kO

kikimych O_O in Compiler Development
MrSmith
Тоесть вы пишите преобразование для llvm ir а способны ныблюдать его прямо на аст
Попробуйте преобразовать в аст функцию, которую шланг пометил тегом норет, а потом dce выкинул как unreachable
источник

M

MrSmith in Compiler Development
Ну это то как раз легко
источник

M

MrSmith in Compiler Development
Просто код помечается оптимизацией как выкинутый
источник

M

MrSmith in Compiler Development
Сбоку вертикальной красной чертой к примеру в гуттере
источник

M

MrSmith in Compiler Development
Нужен прототип вообшем
источник

M

MrSmith in Compiler Development
Так не объяснить сделаю на JSON покажу что такое
источник

M

MrSmith in Compiler Development
источник

K

Kir in Compiler Development
> new ...Lens

Как правило, эти два слова в одной строке кода означают, что нас ожидает жесть типа оптики в ramda. Не видел я ещё нормальных линз не на хаскелле
источник

M

MrSmith in Compiler Development
Да скорей всего это будет хаскель
источник

λ

λoλdog in Compiler Development
Kir
> new ...Lens

Как правило, эти два слова в одной строке кода означают, что нас ожидает жесть типа оптики в ramda. Не видел я ещё нормальных линз не на хаскелле
А в скале норм ?
источник

M

MrSmith in Compiler Development
Ну покрайне мере прототип вундервафли точно
источник