LINUX.ORG.RU

История изменений

Исправление qnikst, (текущая версия) :

Я привёл пример использующий тот же модуль, где оказалось, что type checker вывел верный тип, причём он вывел ровно тот же тип, что и в припере у monk. Как такое может быть?

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

Исходная версия qnikst, :

Я привёл пример использующий тот же модуль, где оказалось, что type checker вывел верный тип, причём он вывел ровно тот же тип, что и monk. Как такое может быть?

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