在任何地方都存在有关如何使用 DMap
类型的示例吗?软件包文档非常有学问,我知道它仅供引用,但是对于入门的人来说绝对是无济于事的。 Google没有透露我所看到的任何东西。
最佳答案
从Updated README.md example拉取请求。需要为GADT实现GEq
和GCompare
实例:
data Foo a where
AnInt :: Foo Int
AString :: Foo String
deriveGEq ''Foo
deriveGCompare ''Foo
dmap1 :: DMap Foo Identity
dmap1 = fromList [AnInt ==> 1, AString ==> "bar"]
main = do
print $ dmap1 ! AnInt
print $ dmap1 ! AString