Вопросы с тегом «type-inference»

42
Что делает вывод типов для зависимых типов неразрешимым?

Я видел упомянутое, что системы зависимого типа не являются заразными, но проверяемыми. Мне было интересно, есть ли простое объяснение, почему это так, и есть ли предел «зависимости», где типы могут быть проиндексированы по значениям, ниже какого типа вывод возможен, а выше которого...

22
Каковы наиболее сильные системы известных типов, для которых вывод является решающим?

Хорошо известно, что вывод типа Хиндли-Милнера (простой тип вычисления с полиморфизмом) имеет разрешимый вывод типа: вы можете реконструировать основные типы для любых программ без каких-либо аннотаций.λλ\lambda Добавление классов типов в стиле Haskell, похоже, сохраняет эту разрешимость, но...

14
Почему алгоритм Хиндли-Милнера никогда не даст такой тип, как t1 -> t2?

Я читал об алгоритме типизации Хиндли-Милнере при написании реализации, и видят , что, до тех пор , как каждый переменная связана, вы всегда будете получать либо атомарные тип или типов , где аргументы будут определять окончательный тип, например, t1 -> t1или (t1 -> t2) -> (t1 -> t2)где...

11
Предлагая уточнения типов

На работе мне было поручено вывести некоторую информацию о типах динамического языка. Я переписываю последовательности операторов во вложенные letвыражения, например так: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z => if x then {...

11
Краткий пример экспоненциальной стоимости вывода типа ML

Мне стало известно, что стоимость вывода типа в функциональном языке, таком как OCaml, может быть очень высокой. Утверждение состоит в том, что существует последовательность выражений, такая, что для каждого выражения длина соответствующего типа экспоненциально зависит от длины выражения. Я...

10
Определить список, используя только систему типов Хиндли-Милнера

Я работаю над небольшим компилятором лямбда-исчисления, который имеет работающую систему логического вывода типа Хиндли-Милнера, а теперь также поддерживает рекурсивный метод давайте (не в связанном коде), который, как я понимаю, должно быть достаточно для завершения Тьюринга . Проблема сейчас в...

9
Вывод типа + перегрузка

Я ищу алгоритм вывода типов для разрабатываемого языка, но я не смог найти тот, который удовлетворял бы моим потребностям, потому что они обычно таковы: à la Haskell, с полиморфизмом, но без специальной перегрузки C ++ (авто), в котором у вас есть временная перегрузка, но функции мономорфны В...

9
Эквивалентность анализа потока данных, абстрактной интерпретации и вывода типа?

Ответ Бабу на недавний вопрос напоминает мне о том, что когда-то я читал статью об эквивалентности (с точки зрения как фактов, которые можно вывести или доказать, так и сложности времени выполнения алгоритма вывода) анализа потока данных , абстрактная интерпретация , и тип логического вывода . В...