Вопросы по теме 'hindley-milner'

Сохранение общего типа без η-разложения
Что я делаю: я пишу небольшую систему интерпретатора, которая может анализировать файл, превращать его в последовательность операций, а затем передавать тысячи наборов данных в эту последовательность для извлечения некоторого окончательного...
305 просмотров
schedule 09.09.2021

Распространите алгоритм W на контейнеры
Хотелось бы расширить алгоритм W на вывод кортежей и списков в F#, априори нужно добавить всего два правила, что я и сделал, однако результат частично плохой. Действительно, если я протестирую такой код: test = (8, "Hello", 0.3) -- test ::...
59 просмотров
schedule 13.03.2022

Кодировать эквивалент полиморфизма ранга 2 в SML
runST — это функция Haskell, которая статически ограничивает время жизни ресурса с помощью типов. Для этого используется полиморфизм второго ранга. Более простая система типов стандартного ML предлагает только полиморфизм ранга 1. Может ли...
328 просмотров

Можем ли мы иметь переменные типа в позиции конструктора в системе типов Хиндли Милнера?
В Haskell мы можем написать следующий тип данных: data Fix f = Fix { unFix :: f (Fix f) } Переменная типа f имеет вид * -> * (т.е. это конструктор неизвестного типа). Следовательно, Fix имеет вид (* -> *) -> * . Мне было...
412 просмотров

Алгоритм W с использованием рекурсивных схем
Я хотел иметь возможность сформулировать алгоритм вывода типа Хиндли-Милнера, используя типы данных с фиксированной точкой и схемы рекурсии. Игнорируя все детали, кроме фактических частей рекурсии: w env term = case term of Lam n e -> lam...
291 просмотров

Как получить тип аппликатора, примененного к функции идентификации
Я хочу получить тип следующего надуманного аппликатора, примененного к функции идентификации. Для этого мне, вероятно, придется унифицировать часть типа первого аргумента (a -> [b]) с типом id : ap :: (a -> [b]) -> a -> [b] id :: a...
96 просмотров
schedule 08.06.2023

Может ли механизм вывода типов обнаруживать ошибки типов?
Я разрабатываю интерпретатор функционального языка программирования, который использует систему типов Хиндли-Милнера. Вопрос в том, где должны возникать (обнаруживаться) ошибки типов? Например, если я применяю значение типа Integer к функции...
55 просмотров

Просто типизированное лямбда-исчисление против системы типов Хиндли-Милнера
Я недавно изучал λ-исчисление. Я понял разницу между нетипизированным и типизированным λ-исчислением. Но мне не совсем понятно различие между системой типов Хиндли-Милнера и типизированным λ-исчислением . Речь идет об параметрическом...
327 просмотров