Haskell:"通用"类型的表达

acr*_*spo 0 haskell types type-inference variable-types

在与此问题中显示的问题类似的问题中,是否可以使用"通用"类型的Haskell表达式?就像是,

myExpression :: a

我是Haskell的新手,但从我所看到的这一点无法实现.

huo*_*uon 7

不,没有什么比底部更能满足,例如

myExpression = myExpression

-- or,

myExpression = undefined
Run Code Online (Sandbox Code Playgroud)

是否有任何合理的方式,它可能是可能的吗?一些非底部表达式,它们都是一个Integer类型Maybe (String -> IO ())(例如).


此外,由于你提到的问题一个答案,证明,与类型签名唯一的非底层函数,a -> aid,我们有一个证明,不能有非底表达型a.如果有,那么

f _ = myExpression
Run Code Online (Sandbox Code Playgroud)

可能有类型a -> a,这既不是也不id是底部,即矛盾.