Size: a a a

Compiler Development

2020 January 05

Dv

Dr. Friedrich von Never in Compiler Development
Kir
Ещё вопрос: сильно бы вас задолбало, если бы язык нудел варнингами про variable shadowing и затыкался бы только тогда, когда вы руками к объявлению имени припишете shadows?

let
 a = 2
in
 let
   a = 3
 in
   ...


->

let
 a = 2
in
 let
   shadows a = 3
 in
   ...
Мне было бы норм.
источник

M

MaxGraey in Compiler Development
Kir
Ещё вопрос: сильно бы вас задолбало, если бы язык нудел варнингами про variable shadowing и затыкался бы только тогда, когда вы руками к объявлению имени припишете shadows?

let
 a = 2
in
 let
   a = 3
 in
   ...


->

let
 a = 2
in
 let
   shadows a = 3
 in
   ...
Помоему проще просто переименовать "a" в "b", чем писать shadows которое еще к тому же резервирует ключевой слово
источник

C

Constantine in Compiler Development
а для чего это? не совсем понятно, сегодня всплыло в трендах на гитхабе🤔
источник

Dv

Dr. Friedrich von Never in Compiler Development
Constantine
а для чего это? не совсем понятно, сегодня всплыло в трендах на гитхабе🤔
Теоремы доказывать.
источник

Dv

Dr. Friedrich von Never in Compiler Development
Хотя я пробовал им пользоваться, и у меня чота очень фуфлыжно выходило: никаких добрых тактик, кроме полного перебора, на моих теоремах не получилось задействовать :(
источник

AG

Alex Gryzlov in Compiler Development
Constantine
а для чего это? не совсем понятно, сегодня всплыло в трендах на гитхабе🤔
источник

C

Constantine in Compiler Development
Спасибо.
источник

PS

Peter Sovietov in Compiler Development
SMT-решатели — лучшее, что появилось за последние годы в области построения компиляторов. И — самое перспективное.
источник

E

EgorBo in Compiler Development
Peter Sovietov
SMT-решатели — лучшее, что появилось за последние годы в области построения компиляторов. И — самое перспективное.
где используются в продакшне сейчас?
источник

E

EgorBo in Compiler Development
в ллвм же так и не доехало ничего
источник

AK

Andrei Kurosh in Compiler Development
Peter Sovietov
SMT-решатели — лучшее, что появилось за последние годы в области построения компиляторов. И — самое перспективное.
Только в мейнстримные языки пока проникает с большим скрипом. В сишарпе, например, лет 8 назад были Code Contracts, а потом их перестали поддерживать
источник

YS

Yuriy Syrovetskiy in Compiler Development
EgorBo
где используются в продакшне сейчас?
у нас (Kaspersky Security System) для оптимизации формул. подробнее, наверно, не смогу рассказать
источник

PS

Peter Sovietov in Compiler Development
EgorBo
где используются в продакшне сейчас?
Можно посмотреть часто цитируемую здесь статью https://arxiv.org/pdf/1809.02161.pdf
источник

E

EgorBo in Compiler Development
Peter Sovietov
Можно посмотреть часто цитируемую здесь статью https://arxiv.org/pdf/1809.02161.pdf
ну эту я помню :)
источник

E

EgorBo in Compiler Development
но мой вопрос скорее про мейнстрим компиляторы-языки
источник

E

EgorBo in Compiler Development
я как-то пробовал подключать к ллвм соупер
источник

E

EgorBo in Compiler Development
разницы в наших бенчах особо не почувствовал
источник

E

EgorBo in Compiler Development
на мой взгляд это продажа солидных тормозов компиляции за + пару процентов оптимизации
источник

PS

Peter Sovietov in Compiler Development
SMT-решатель может помочь на различных этапах работы компилятора. Начиная с семантического анализа и заканчивая локальными оптимизациями, планированием и выбором команд, распределением регистров. В backend особая выгода в тех случаях, когда компилятор перенацеливают на новую архитектуру — штуки в духе InstructionCombining.cpp генерируются автоматически :)
источник

K

Kakadu in Compiler Development
Peter Sovietov
SMT-решатель может помочь на различных этапах работы компилятора. Начиная с семантического анализа и заканчивая локальными оптимизациями, планированием и выбором команд, распределением регистров. В backend особая выгода в тех случаях, когда компилятор перенацеливают на новую архитектуру — штуки в духе InstructionCombining.cpp генерируются автоматически :)
Это теоритическая выгода,  или кто-то уже так делает?
источник