acr*_*spo 0 haskell types type-inference variable-types
在与此问题中显示的问题类似的问题中,是否可以使用"通用"类型的Haskell表达式?就像是,
myExpression :: a
我是Haskell的新手,但从我所看到的这一点无法实现.
不,没有什么比底部更能满足,例如
myExpression = myExpression
-- or,
myExpression = undefined
Run Code Online (Sandbox Code Playgroud)
是否有任何合理的方式,它可能是可能的吗?一些非底部表达式,它们都是一个Integer类型Maybe (String -> IO ())(例如).
此外,由于你提到的问题一个答案,证明,与类型签名唯一的非底层函数,a -> a是id,我们有一个证明,不能有非底表达型a.如果有,那么
f _ = myExpression
Run Code Online (Sandbox Code Playgroud)
可能有类型a -> a,这既不是也不id是底部,即矛盾.