首页 > 解决方案 > haskell 中的 SomeException 数据类型

问题描述

和有什么区别?

data SomeException = forall e . Exception e => SomeException e

data SomeException = Exception e => SomeException e

为什么我们需要 forall ? 链接到源

标签: haskell

解决方案


第一种称为存在类型。第二个甚至不会编译。

forall基本上,如果您希望某些变量仅出现在右侧(= 的右侧),则必须添加它

例如,它允许您创建异构列表,例如[SomeException]可以包含每个元素的不同SomeException e位置的列表。e


推荐阅读