Size: a a a

Типы в языках программирования, моделирования, представления знаний и жизни

2022 January 24

ПС

Павел Соколов... in Типы в языках программирования, моделирования, представления знаний и жизни
Где можно про это почитать?
источник

[

[BRM]White Rabbit in Типы в языках программирования, моделирования, представления знаний и жизни
Писал теоретический вопрос о своих эмпирических наблюдениях и понял, что я тупой
источник

AC

Alexander Chichigin in Типы в языках программирования, моделирования, представления знаний и жизни
Более хитрый вариант рекурсии в типах ведущий к unsoundness описан в https://counterexamples.org/strict-positivity.html
источник

ПС

Павел Соколов... in Типы в языках программирования, моделирования, представления знаний и жизни
Знакомый пример с non-strict positive, спасибо
Но мне всё-таки хочется пример с non-termination
источник

AC

Alexander Chichigin in Типы в языках программирования, моделирования, представления знаний и жизни
Так он non-termination и вызывает через бесконечную рекурсию на типах. Там только unsafe coerce напрямую не строят, но имея worse : False это не сложно.
источник

AC

Alexander Chichigin in Типы в языках программирования, моделирования, представления знаний и жизни
Ну или можно тот пример из Java Unsound повторить.
источник

[

[BRM]White Rabbit in Типы в языках программирования, моделирования, представления знаний и жизни
Из хаскеля с ансейф перформ👀
источник

[

[BRM]White Rabbit in Типы в языках программирования, моделирования, представления знаний и жизни
Кстати, а как с точки зрения теории типов мутабельность + ансейф перформ + генерализация типа на топлевеле ведут к ансаунд?
источник

[

[BRM]White Rabbit in Типы в языках программирования, моделирования, представления знаний и жизни
Или это типа ноун ишью хаскельной типизации?
источник

AC

Alexander Chichigin in Типы в языках программирования, моделирования, представления знаний и жизни
Known issue. Haskell type system is unsound by design (at least in GHC).
источник

AC

Alexander Chichigin in Типы в языках программирования, моделирования, представления знаний и жизни
В конце концов unsafeCoerce там есть в стандартной библиотеке — его не нужно писать самому.
источник

[

[BRM]White Rabbit in Типы в языках программирования, моделирования, представления знаний и жизни
Ну одно дело - бекдор, который можно удалить, тупо убрав хак из стд и другое - возможность написать самому миллионы реализаций
источник

[

[BRM]White Rabbit in Типы в языках программирования, моделирования, представления знаний и жизни
С другой стороны эти миллионы реализаций тоже убираются, если не экспортировать конструктор IO
источник

AC

Alexander Chichigin in Типы в языках программирования, моделирования, представления знаний и жизни
Use Safe Haskell. 😉
источник

[

[BRM]White Rabbit in Типы в языках программирования, моделирования, представления знаний и жизни
Сейф хаскель не работает
источник

AC

Alexander Chichigin in Типы в языках программирования, моделирования, представления знаний и жизни
Впрочем, Safe Haskell тоже Unsound спасибо Curry's paradox и прочем non-positive types. Или всё-таки sound?.. 🤔
источник

AC

Alexander Chichigin in Типы в языках программирования, моделирования, представления знаний и жизни
Подробности имеются?
источник

[

[BRM]White Rabbit in Типы в языках программирования, моделирования, представления знаний и жизни
Ну я его сломать не пытался
источник

[

[BRM]White Rabbit in Типы в языках программирования, моделирования, представления знаний и жизни
Но там есть андефайнед
источник

[

[BRM]White Rabbit in Типы в языках программирования, моделирования, представления знаний и жизни
Это уже неприятно
источник