Template Haskell supports quasiquoting, which permits users to
construct program fragments by directly writing concrete syntax. A
quasiquoter is essentially a function with takes a string to a
Template Haskell AST. This module defines the
QuasiQuoter
datatype, which specifies a quasiquoter
q which can be
invoked using the syntax
[q| ... string to parse ... |] when
the
QuasiQuotes language extension is enabled, and some
utility functions for manipulating quasiquoters. Nota bene: this
package does not define any parsers, that is up to you.