【发布时间】:2015-08-07 11:02:32
【问题描述】:
我正在尝试为某些类型声明编写一个准引用器。
我写了一些类似
的东西{-# LANGUAGE TemplateHaskell #-}
import Language.Haskell.TH as TH
import Language.Haskell.TH.Quote
sample :: QuasiQuoter
sample =
let tName = TH.mkName "GenType"
conName = TH.mkName "GetType"
nameName = TH.mkName "name"
creator _ = return [TH.DataD [] tName [] [TH.RecC conName [(nameName, TH.NotStrict,TH.ConT ''String)]] [''Show, ''Eq]]
in QuasiQuoter { quoteDec = creator
, quotePat = undefined
, quoteType = undefined
, quoteExp = undefined }
现在我遇到了尝试使该类型“GenType”可用的问题。我已经查看了 yesod 源代码(他们在哪里路由),但这对我来说有点不透明。如何让准引用器提供一种类型?
【问题讨论】: