| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
Language.Haskell.TH.Quote
- data QuasiQuoter = QuasiQuoter {}
 - dataToQa :: forall a k q. Data a => (Name -> k) -> (Lit -> Q q) -> (k -> [Q q] -> Q q) -> (forall b. Data b => b -> Maybe (Q q)) -> a -> Q q
 - dataToExpQ :: Data a => (forall b. Data b => b -> Maybe (Q Exp)) -> a -> Q Exp
 - dataToPatQ :: Data a => (forall b. Data b => b -> Maybe (Q Pat)) -> a -> Q Pat
 - quoteFile :: QuasiQuoter -> QuasiQuoter
 
Documentation
data QuasiQuoter Source
dataToQa :: forall a k q. Data a => (Name -> k) -> (Lit -> Q q) -> (k -> [Q q] -> Q q) -> (forall b. Data b => b -> Maybe (Q q)) -> a -> Q q Source
dataToExpQ :: Data a => (forall b. Data b => b -> Maybe (Q Exp)) -> a -> Q Exp Source
dataToExpQ converts a value to a 'Q Exp' representation of the same
 value. It takes a function to handle type-specific cases.
dataToPatQ :: Data a => (forall b. Data b => b -> Maybe (Q Pat)) -> a -> Q Pat Source
dataToPatQ converts a value to a 'Q Pat' representation of the same
 value. It takes a function to handle type-specific cases.
quoteFile :: QuasiQuoter -> QuasiQuoter Source
quoteFile takes a QuasiQuoter and lifts it into one that read
 the data out of a file.  For example, suppose asmq is an 
 assembly-language quoter, so that you can write [asmq| ld r1, r2 |]
 as an expression. Then if you define asmq_f = quoteFile asmq, then
 the quote [asmq_f|foo.s|] will take input from file "foo.s" instead
 of the inline text