Size: a a a

Compiler Development

2020 January 02

МБ

Михаил Бахтерев in Compiler Development
Yuriy Syrovetskiy
зачем проверки в рантайме, если во время компиляции всё ловится?
head? Или какое-нибудь забытое |-условие?
источник

YS

Yuriy Syrovetskiy in Compiler Development
Михаил Бахтерев
head? Или какое-нибудь забытое |-условие?
"а у вашего Хаскеля тоже есть проблемы"

ну да, есть. предпочитаю его не трогать, когда могу
источник

МБ

Михаил Бахтерев in Compiler Development
Yuriy Syrovetskiy
"а у вашего Хаскеля тоже есть проблемы"

ну да, есть. предпочитаю его не трогать, когда могу
Дело не в Haskell, а в сложности пространства состояний системы и в объёме кода, который нужен для его полного описания (не генерации, а распознавания). Есть нижняя граница. От языка тут мало что зависит.
источник

PS

Peter Sovietov in Compiler Development
В общем случае не то что заурядные типы, а и в целом самый мощный статический анализ не спасет, и в учебниках по анализу программ на первых страницах приводят на этот счет доказательство.
источник

YS

Yuriy Syrovetskiy in Compiler Development
Михаил Бахтерев
Дело не в Haskell, а в сложности пространства состояний системы и в объёме кода, который нужен для его полного описания (не генерации, а распознавания). Есть нижняя граница. От языка тут мало что зависит.
да, сразу все проблемы во вселенной отловить сложно, но АТД — простое и относительно эффективное средство
источник

AV

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

PS

Peter Sovietov in Compiler Development
Alexey Veselovsky
А если убрать из языка полноту по тьюрингу?
Можно даже не трогать язык, а рассматривать, например, вычислители с ограниченным объемом памяти.  Тот же f18 — отличный пример. Всего 64 слова ОЗУ и 64 слова ПЗУ. 10 слов стека данных и 9 слов стека возвратов. Но даже в таком радикальном случае перебор всех возможных конфигураций оказывается слишком велик.

Так что full employment theorem for static program analysis designers с разными подходами к "консервативности" и тут продолжает действовать :)
источник

YS

Yuriy Syrovetskiy in Compiler Development
Alexey Veselovsky
А если убрать из языка полноту по тьюрингу?
чем корректнее язык, тем труднее на нём решать задачи
источник

FO

FORTRAN ONE LOVE in Compiler Development
MaxGraey
и поменьше транспиляторов 😁
Чорд. А я по транспиляторам фортрана в фортран специализируюсь...
источник

M

MaxGraey in Compiler Development
FORTRAN ONE LOVE
Чорд. А я по транспиляторам фортрана в фортран специализируюсь...
Кстати а есть ли транспилятор фортрана в идиоматичный C, без оборачивания в свой рантайм и полифилы?
источник

FO

FORTRAN ONE LOVE in Compiler Development
MaxGraey
Кстати а есть ли транспилятор фортрана в идиоматичный C, без оборачивания в свой рантайм и полифилы?
У gcc есть
источник

FO

FORTRAN ONE LOVE in Compiler Development
Но это читать нереально. Глаза вытекают
источник

AK

Andrei Kurosh in Compiler Development
FORTRAN ONE LOVE
Чорд. А я по транспиляторам фортрана в фортран специализируюсь...
We need to go deeper
источник

AT

Alexey Tkachenko in Compiler Development
Интернет, а можно ли автоформаттер хотя бы с привлечением совы и глобуса считать транспилятором?
источник

E

EgorBo in Compiler Development
да хоть интерпретатором)
источник

MS

Mikola Summer Duck in Compiler Development
Alexey Tkachenko
Интернет, а можно ли автоформаттер хотя бы с привлечением совы и глобуса считать транспилятором?
Это скорее оптимизатор исходного языка.
источник

E

EgorBo in Compiler Development
или боевым вертолетом
источник

AK

Andrei Kurosh in Compiler Development
С очень большой совой - да
источник

AK

Andrei Kurosh in Compiler Development
Если в автоформаттере есть всякие квикфиксы, меняющие не только форматирование - сова несколько уменьшается
источник

FO

FORTRAN ONE LOVE in Compiler Development
Alexey Tkachenko
Интернет, а можно ли автоформаттер хотя бы с привлечением совы и глобуса считать транспилятором?
Если он умеет оптимизировать неиспользумые переменные и удалять их, тогда - да)
источник