В Ричард Айзенберга talk по работе с легкомыслием полиморфизмом для зависимых Haskell, он ясно показывает, что это суждение/тип звук:Налицо суждения имеют вид?
type Star = (* :: (* :: (* :: *)))
Означает ли это, что типизации суждение сами имеют любезный *
? Или, что более гибкий, в том, что *
может иметь тип *
или возвращаемый ... вещь от (* :: *)
(который я не уверен, в этот момент).
Учитывая это предположение, что (* :: *) :: *
, это также будет означать, что этот тип будет ассоциативным, тоже:
type Star = (((* :: *) :: *) :: *)
который я не думаю, что это правильно. Может кто-нибудь прокомментировать это для меня?
Будет ли само суждение чем-то вроде «как это было (успешно) утверждалось, что' foo' имеет тип 'bar'?, Может быть, путь вывода или что-то еще? Я думал, что видел что-то вроде стека вывода в GHC 8.0 из [одного из твитов Криса Аллена] (https://twitter.com/bitemyapp/status/698424851455832064), но я не уверен, что я прав. –
@AthanClark Правильно, типизированное суждение было бы деревом типичных приложений правил, которое свидетельствует или доказывает, что данное выражение имеет заданный тип. –