在任何地方都存在有关如何使用 DMap 类型的示例吗?软件包文档非常有学问,我知道它仅供引用,但是对于入门的人来说绝对是无济于事的。 Google没有透露我所看到的任何东西。

最佳答案

Updated README.md example拉取请求。需要为GADT实现GEqGCompare实例:

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

10-07 19:10
查看更多