最近我一直在玩 Haskell 的-XDataKinds
功能,并且发现自己想要创建一种。
我不确定我的愿望是否能实现,但从 Edward Kmett 的约束包中,似乎有一个声明的种类Constraint
(带有 sort BOX
),它说是在 中定义的GHC.Prim
,但我找不到它。
有没有办法在 Haskell 或 GHC 中手动声明一种?这可能需要手动断言声明的数据类型data
是正确的。我的想法是这样的:
data Foo :: BOX
data Bar a :: Foo where
Bar :: a -> Bar a