Size: a a a

Compiler Development

2020 June 09

p

polunin.ai in Compiler Development
Artyom Drozdov
оптимизации всё ровно жорнее
оптимизации жирные если компиляция в нативный код. иначе - парсинг.
источник

p

polunin.ai in Compiler Development
Alex Gryzlov
а вот компилятор для завтипов наоборот может работать произвольное время
Тьюринг-полная компиляция?
источник

AG

Alex Gryzlov in Compiler Development
очевидно чем выразительнее возможности компайлтайма, тем медленнее оно будет
источник

а

а это кто in Compiler Development
На сколько я знаю в современных языках один из самых медленных этапов компиляции — мономорфизация дженериков и генерация кода (не ко всем языкам применимо естественно)
источник

AG

Alex Gryzlov in Compiler Development
вот, а дженерики это условно говоря всего лишь система F
источник

а

а это кто in Compiler Development
а это кто
На сколько я знаю в современных языках один из самых медленных этапов компиляции — мономорфизация дженериков и генерация кода (не ко всем языкам применимо естественно)
поэтому паскаль,си и го быстро компилятся :-)
источник

а

а это кто in Compiler Development
polunin.ai
мне тут это доказывали, можете поспрашивать у людей
ок
источник

AG

Alex Gryzlov in Compiler Development
polunin.ai
Тьюринг-полная компиляция?
нет, тотальная, но это не сильно спасает
источник

AG

Alex Gryzlov in Compiler Development
можно влепить в тип факториал какой нибудь пожирнее
источник

p

polunin.ai in Compiler Development
Alex Gryzlov
можно влепить в тип факториал какой нибудь пожирнее
а бесконечную рекурсию?
источник

AG

Alex Gryzlov in Compiler Development
нет
источник

AG

Alex Gryzlov in Compiler Development
тотальность и означает отсутствие фатальных ошибок и вечных циклов
источник

AD

Artyom Drozdov in Compiler Development
можно читать как "неограничено большое конечное время")
источник

A

Alexey in Compiler Development
а это кто
поэтому паскаль,си и го быстро компилятся :-)
Никогда си не компилировались быстрее паскаля (до сих пор помню, насколько Turbo C были медленнее Turbo Pascal, который действительно был «турбо»), да и не могли быть быстрее: в сях нет нормальной раздельной компиляции и модулей, зато есть необходимость парсить стандартные хедеры по стопицот раз.
источник

M

MaxGraey in Compiler Development
polunin.ai
мне тут это доказывали, можете поспрашивать у людей
Очень сильно зависит от языка и сложности семантического анализа. Например в Rust парсинг + семант анализ (который производится кстати на уровне MIR) довольно дорогой, а еще там есть макросы, компиляция которых млжет вылиться вообще в экпоненциальное время сложности и такое не раз уже было
источник

M

MaxGraey in Compiler Development
Ну и даже в C можно сделать compiler bomb, но это очень редкие и хорошо известные кейсы, мы их не будем брать в счет
источник

KR

K R in Compiler Development
Спасибо. Там интересны квантовые эффекты измерения. 😊
источник
2020 June 10

DP

Dmitry Ponyatov in Compiler Development
MaxGraey
В то время как Google осознала что развивать Android и Java как основной ЯП для мобильной платформы бесмыссленно и решили все переосмыслить заново с Fuchsia где будет уже Flutter и Dart… Huawei все пытается создать клон андрода и клон Java компилятора (Ark Compiler) и бросает на это просто нечеловеческое колличество ресурсов, там у них штат уже в десятки раз выше чем у Google и Apple вместе взятые. Как по мне это какое то безумие
хуавею кучу комментов в сети писали "сделайте телефоны с нативным Linux"
так бы хоть какая-то фишка была, привлекли бы community к разработке, а так нафиг кому нужна новая неведомая несовместимая NIHня
источник

I

Ilmir in Compiler Development
MaxGraey
Так Kotlin не имеет отношения к Google)
Пулреквесты от них с вами не соглясятся.
источник

M

MaxGraey in Compiler Development
Ilmir
Пулреквесты от них с вами не соглясятся.
Да? Тогда мы тоже имеем отношение к Google=) В нашем репозитарии есть пару PR от Surma (web адвоката google)
источник