haskell - haskell 中的 SomeException 数据类型
问题描述
和有什么区别?
data SomeException = forall e . Exception e => SomeException e
data SomeException = Exception e => SomeException e
为什么我们需要 forall ? 链接到源
解决方案
第一种称为存在类型。第二个甚至不会编译。
forall
基本上,如果您希望某些变量仅出现在右侧(= 的右侧),则必须添加它
例如,它允许您创建异构列表,例如[SomeException]
可以包含每个元素的不同SomeException e
位置的列表。e
推荐阅读
- html - 在不影响其他元素的情况下调整 SVG 的大小
- c# - 带有可选数据的对象
- docker - 需要的建议:如何正确处理用于加密容器间通信的自签名 ssl 证书+密钥对?
- python - Numpy - 组合两个特征数组但保留原始索引
- python - 如果所需变量不为空,如何打印 OKAY?
- javascript - 循环遍历对象数组并根据 JS 中的 id 更新所有值
- node.js - 如何使 NodeJS 中 S3 上特定文件夹的 cloudfrontcahce 无效?
- visual-studio - Visual Studio 2019 社区中的内存使用工具在哪里?
- java - 如何使用 JQuery 将 json 作为数据参数传递给我的 api
- kubernetes - 如何通过 Istion 入口网关访问 prometheus 和 grafana?我已经通过 Helm 安装了 promethius anfd grafana