之间有什么区别?
data SomeException = forall e . Exception e => SomeException e
data SomeException = Exception e => SomeException e
为什么我们需要 forall ?
link to source
最佳答案
第一个称为 Existential type 。第二个甚至不会编译。
基本上,如果您希望某些变量仅出现在右侧(= 的右侧),则必须添加 forall
它允许您例如创建异构列表,例如[SomeException]
可以包含 SomeException e
列表,其中每个元素的 e
不同。
关于haskell - haskell 中的 SomeException 数据类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54886974/