我想用DSum来做些什么。要与DSum一起使用,您需要具有一个采用一个类型参数的“标记”类型,例如, data Tag a where
AFirst :: Tag Int
ASecond :: Tag String
但是,我想在图书馆内部使用它。我想让我向用户公开的接口采用任何旧的数据类型,例如 data SomeUserType1 = Foo Int | Bar Stri
我有一个TemplateHaskell函数创建一个类名: test :: Q [Dec]
test = do
clsname <- newName "A"
a <- newName "a"
return [
ClassD [] clsname [PlainTV a] [][]
]
类名与newName生成的,所以应该是无冲突(原因是我直接在T
我正在使用Yesod构建一个简单的应用程序,并且我很难引入外部文件。这里是我的代码: {-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeFamilies #-}
import Yesod
dat