Size: a a a

Compiler Development

2020 January 27

AK

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

AT

Alexander Tchitchigin in Compiler Development
Yuriy Syrovetskiy
мы это точно знаем?
Конечность пространства и энергии? Да, вполне точно. Особенно доступных - их вообще очень-очень мало по сравнению со вселенной.
источник

AK

Andrei Kurosh in Compiler Development
Ну а про модель сферического коня в вакууме все знают
источник

M

MaxGraey in Compiler Development
Yaroslav Schekin
Все DFA останавливаются, очевидно.
В теории. Это если у нас бесконечно памяти и времени. Надеюсь про ReDoS вы слышали?
источник

AT

Alexander Tchitchigin in Compiler Development
MaxGraey
В теории. Это если у нас бесконечно памяти и времени. Надеюсь про ReDoS вы слышали?
DFA работают в константной памяти и за конечное время. ReDoS - это про экспоненциальные PCRE, которые на самом деле не регулярные.
источник

AG

Alex Gryzlov in Compiler Development
Alexander Tchitchigin
Тотальное подмножество, очевидно, не полное. Я не смотрел, используются ли в компиляторе Idris 2 нетотальные функции. По идее, должно быть можно обойтись без них. @clayrat что там на самом деле в кодовой базе?
да, там много где стоит %default covering, т.е. только проверка на исчерпывающий патмат
источник

AT

Alexander Tchitchigin in Compiler Development
Alex Gryzlov
да, там много где стоит %default covering, т.е. только проверка на исчерпывающий патмат
А там есть что-то принципиально не-тотальное, или это просто для удобства (поленились)?
источник

AG

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

YS

Yaroslav Schekin in Compiler Development
MaxGraey
В теории. Это если у нас бесконечно памяти и времени. Надеюсь про ReDoS вы слышали?
Вот именно, в теории DFA (все они!) всегда останавливаются.
Поэтому я и посоветовал Вам эту теорию повторить. ;)
источник

AG

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

AT

Alexander Tchitchigin in Compiler Development
Alex Gryzlov
сложно сказать, думаю он просто срезал углы где мог
Трудно его в этом винить. 😊
источник

M

MaxGraey in Compiler Development
Yaroslav Schekin
Вот именно, в теории DFA (все они!) всегда останавливаются.
Поэтому я и посоветовал Вам эту теорию повторить. ;)
Соглашусь DFA был плохим примером, как насчет функции Аккермана?
источник

K

Kir in Compiler Development
Так и она останавливается
источник

K

Kir in Compiler Development
За время меньше бесконечного при конечных инпутах
источник

AT

Alexander Tchitchigin in Compiler Development
MaxGraey
Соглашусь DFA был плохим примером, как насчет функции Аккермана?
Так Вы какой пример пытаетесь привести? Если модель, способную вычислить любую функцию, то она автоматически будет эквивалентна МТ (равно как и лямбда-исчислению, нормальным алгорифмам Маркова, Brainfuck, etc.), а следовательно, подвержена проблеме останова. 🤷‍♀️
источник

M

MaxGraey in Compiler Development
Alexander Tchitchigin
Так Вы какой пример пытаетесь привести? Если модель, способную вычислить любую функцию, то она автоматически будет эквивалентна МТ (равно как и лямбда-исчислению, нормальным алгорифмам Маркова, Brainfuck, etc.), а следовательно, подвержена проблеме останова. 🤷‍♀️
Да, привести пример не тьюринг полной модели с проблемой останова
источник

M

MaxGraey in Compiler Development
Изначально вопрос был в том, если какая то очевидная прямая и обратная связь между полнотой по тьюрингу и проблемой останова. Вот собственно это пытаемся выяснить
источник

А⚙

Антон ⚙️ in Compiler Development
Yuriy Syrovetskiy
Тьюринг не требует бесконечность. он требует бесконечность ИЛИ возможность добавлять память, когда понадобится
Я бы не сказал, что эти две возможности принципиально отличаются на практике
источник

МБ

Михаил Бахтерев in Compiler Development
Eugene Obrezkov
Все современные ЯП и так полны по Тьюрингу
Вроде не все. Есть же тотальные языки: Idris, Sixten
источник

YS

Yuriy Syrovetskiy in Compiler Development
ATS
источник