3
是否有一个库定义了一个定义有效Haskell类型的数据类型(可能这是一个GADT)。代表有效类型的Haskell数据类型
讲解,让我提出这可能是什么样子:
data A
data B
class Free t
instance Free A
instance Free B
x = Forall A (Forall B (Constraint (NumConstraint A)
(Constructor Function A (Constructor Function B A))))
这将是:
forall a b. Num a => a -> b -> a
我不是说我认为什么是好的实现,我我只是想表明我的意思。
当然,如果您可以定义类型定义的语法,您可以创建一个GADT来表示它。有什么已经做到了吗?
为什么选择GADT而不是ADT?是['template-haskell'](https://hackage.haskell.org/package/template-haskell-2.11.1.0/docs/Language-Haskell-TH.html#g:17)你在找什么? – Alec
我不介意它是不是GADT,只要我可以做一些漂亮的打印等等。 – Clinton