pads-haskell-0.1.0.0: PADS data description language for Haskell.

Copyright(c) 2005-2011 AT&T
Kathleen Fisher <kfisher@research.att.com>
LicenseMIT
MaintainerKarl Cronburg <karl@cs.tufts.edu>
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Language.Pads.Quote

Description

 
Synopsis

Documentation

pads :: QuasiQuoter Source #

The PADS quasiquoter which can be invoked by e.g.:

[pads| type MyType = (Int, Int) |]

padsDerivation :: Derivation -> QuasiQuoter Source #

Same as pads, but parametrized by a higher order function which constructs a list of Haskell decls to splice into scope for each PADS metadata and data declaration. Namely the type, newtype, and data PADS constructs get passed into derivation as a template haskell declaration.

PADS only supports quasiquotes in place of a Haskell declaration (expressions, patterns, and types produce errors).

pparseDecl :: Derivation -> String -> Q ([Dec], [PadsDecl]) Source #

Just the declaration parser for a PADS quasiquotation. Glues together parsePadsDecls and make_pads_declarations, the parser and code generator.

make_pads_declarations :: [PadsDecl] -> Q [Dec] Source #

Top level code gen function from Pads decls to Haskell decls

padsE :: ([PadsDecl] -> Q [Dec]) -> QuasiQuoter Source #

Extensible PADS quasiquoter