【发布时间】:2018-03-05 14:31:27
【问题描述】:
Existentially quantified data constructors点赞
data Foo = forall a. MkFoo a (a -> Bool)
| Nil
可以轻松转换为 GADT:
data Foo where
MkFoo :: a -> (a -> Bool) -> Foo
Nil :: Foo
它们之间有什么区别:代码可以编译但不能编译,或者给出不同的结果?
【问题讨论】:
标签: haskell gadt existential-type