【发布时间】:2010-07-02 02:52:30
【问题描述】:
我试图理解 Haskell 中的类型模式和泛型类,但似乎无法理解。
谁能通俗地解释一下?
在[1] 我读到过
“为了将函数通用地应用于所有数据类型,我们以统一的方式查看数据类型:除了基本的预定义类型,例如 Float、IO 和 →,每个 Haskell 数据类型都可以被视为可能标记的标记和产品。”
然后提到Unit、:*: 和:+:。 Haskell 中的所有数据类型是否都是上述的自动版本,如果是,我如何确定特定数据类型是如何用:*: 等表示的? haskell.org 上的泛型类用户指南(第 7.16 章)没有提到预定义类型,但如果类型模式应该详尽无遗,难道不应该在每个函数中处理它们吗?
[1] 比较 Haskell、Ralf Hinze、Johan Jeuring 和 Andres Löh 中的泛型编程方法
【问题讨论】:
标签: generics reflection haskell