下面的代码片段从借用来携带一个类型类字典和一个存在类型:module Experiment1 where
instance Show Showable where showsPrec p (Showable x) = showsPrec p x
resultStr = show (Showable ()) -- "()"
是否可以编写一个能够将Sho
(a -> b) -> b) -> a
我不明白为什么check1有rank-1类型签名,而uncheck1仍然保持rank-2类型签名。这使我相信,用户不允许预先选择b类型(与a类型不同),因此,类型应该是rank-2。这里似乎有一些细微之处,当我试图了解是否应该将一个显式forall签名理解为级别1或更高级别时,我肯定会错过。