Size: a a a

Compiler Development

2021 July 01

K

Kir in Compiler Development
Руками
источник

Z(

Zahar Kovaλ (vovan19... in Compiler Development
)
источник

B

Brenoritvrezorkre in Compiler Development
И тогда языки программирования можно было бы выбирать 'так же', как алгоритмы — по их сложностным характеристикам
источник

K

Kir in Compiler Development
Есть понятие машины Тьюринга, например. Из нео следует, что язык с переменными неизвестными, функциями от одного аргумента и вызовами (с одним аргументом) может успешно заменить любой другой
источник

B

Brenoritvrezorkre in Compiler Development
Не успешно

Это говорит просто о классе сложности вычислений на самом абстрактном уровне
источник

K

Kir in Compiler Development
https://gitlab.com/ligolang/ligo/-/tree/dev/src/test/contracts

Руками. Потому что если ты что-то генерируешь, то тестируешь ты только тот факт, что генератор является инверсией парсера.
источник

Z(

Zahar Kovaλ (vovan19... in Compiler Development
Я хочу тестить краши
источник

Z(

Zahar Kovaλ (vovan19... in Compiler Development
Вот например, clangd крашится на некоторых TU. Есть два пути: редуцировать найденные TU, либо пробовать находить краши самому
источник

K

Kir in Compiler Development
Напиши на языке компилятор для него самого. Компилируй в 3 стадии. Это найдёт тебе столько багов, что мало не покажется.
источник

Z(

Zahar Kovaλ (vovan19... in Compiler Development
Не понял твою идею
Btw сейчас задача конкретно для clangd
источник

IK

Ivan Kochurkin in Compiler Development
Причем это будут еще далеко не все баги.
источник

AG

Alex Gryzlov in Compiler Development
звучит как раздел семантики яп
источник

K

Kir in Compiler Development
Тьюринг с Чёрчем; Ноам Хомский, опосреднованно; Марков
источник

AG

Alex Gryzlov in Compiler Development
я так понимаю имеется в виду некое опрокидывание https://en.wikipedia.org/wiki/Descriptive_complexity_theory на яп
источник

AG

Alex Gryzlov in Compiler Development
теоремы фагина, трахтенброта и прочих деятелей
источник

AG

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

B

Brenoritvrezorkre in Compiler Development
Да, именно это в большей степени и имел в виду, но не только: например, интересно, какие структуры можно построить с какой сложностью во времени (но для этого нужны данные о логическом синтаксисе — в PLT это статическая семантика). Сами структуры можно попробовать (но не знаю, насколько успешно) определить относительно их выразимости на базе только грамматики (в PLT — синтаксиса) и дополнительной к этому теории сложности.
источник

AG

Alex Gryzlov in Compiler Development
в целом там, где важен proof search а не proof normalization
источник

AG

Alex Gryzlov in Compiler Development
для второго (т.е. условного фп) есть параллельная ветка работ, называется implicit complexity
источник

B

Brenoritvrezorkre in Compiler Development
Я думаю, процесс самого программирования можно свести во многом к ручному 'proof search' в рамках самого языка, только без формально определённой логической синтаксической (статической семантической в PLT) части это будет, эм, неформальной процедурой, метафорически informal proving
источник