Реализация алгоритма вида выводов Дэмас-Хинди-Милнера
-
30-09-2019 - |
Вопрос
Я ищу информацию о хорошо известных Damas-Hindley-Milner AlgorithЧтобы сделать тип вывода на функциональные языки, особенно информацию о реализации.
Я уже знаю, как сделать Алгоритм W., Но я слышал о недавних новых алгоритмах, основанных на генераторе / решателя ограничения, а не обычным объединением. Тем не менее, мне не удалось найти какие-либо обсуждения о реализации этих новых алгоритмов.
Любая идея, где я могу найти некоторую частичную информацию о выводах ML?
Решение
Если вам удобно с ML-кодом, лучший способ найти эти вещи, чтобы просто посмотреть в реализации в дикой природе. Хорошая справочная реализация Гамлет, который предназначен как больше тестовой платформы, а не реализации производства.
Почти все серьезные недавние обсуждения этих вопросов будут в стиле учеников. Одна бумага, которая может быть интересна, является Обобщенные алгоритмы вывода типа Hindley-Milner Type.
Также реализации различных систем типа (включая пусть полиморфизм) в Пирсе "Типы и языки программирования", а также Appel's"Современная реализация компилятора в мл«Более внимательно соответствует современным подходам к реализации этого, чем ванильное описание алгоритма W.