可以使用 GADT 来表达存在量化类型。
我看到 GADT 更通用 - data-type-extensions,第7.4.7节
何时最好使用存在量化类型然后 GADT ?使用 GADT 与存在量化类型相比有任何缺点吗?
答案 0 :(得分:11)
GADT出现的时间晚于存在感,并将它们概括为一般。我不知道任何缺点,并且总是在新代码中使用GADT语法,因为它更清晰。
documentation证实了这一点:
请注意,GADT样式的语法概括了存在类型。
答案 1 :(得分:2)
如果你使用最新版本的GHC,那么我就没有任何弊端。但在旧版本中,您可以以类型不安全的方式组合GADT和GeneralizedNewtypeDeriving。我不认为ExistentialQuantification可以实现同样的目标。