В этой статье в Википедии о полноте Тьюринга говорится, что:
Нетипизированное лямбда-исчисление является полным по Тьюрингу, но многие типизированные лямбда-исчисления, включая Систему F, - нет. Ценность типизированных систем основана на их способности представлять наиболее типичные компьютерные программы при обнаружении большего количества ошибок.
Что является примером полной вычислимой функции, которая не вычислима системой F ?
Кроме того, поскольку Хиндли-Милнер это:
Ограничение Системы F
из-за того что:
проверка типов неразрешима для варианта System F в стиле Curry, то есть для варианта, в котором отсутствуют явные аннотации ввода.
Означает ли это, что лямбда-исчисление, лежащее в основе систем типа Хиндли-Милнера, также недостаточно полно?
Если это действительно так, поскольку haskell явно завершен по Тьюрингу, и мы знаем, что его основой являются лямбда-исчисление и система типов Хиндли-Милнера, какие функции, отсутствующие в лямбда-исчислении, добавлены для того, чтобы завершить тьюринг haskell?
system T vs. system F
я нашел кое-что, что отвечает моему последнему подзапросу и перефразируется здесь так: как haskell добавил полноту Тьюринга к Системе F