The haskell-src-exts-qq package
Allows one to write programs that generate Haskell programs much more concisely and legibly. This package supports:
Antiquotations, denoted by stealing the splice syntax of Template Haskell, for example [hs| $x ++ $(Hs.strE bar) |]. Splices may not nested.
Antiquoting pattern variables in patterns, using double parentheses. For instance:
let x = Hs.name "n" in [hs| \ ((x)) -> $(Hs.Var (Hs.UnQual x)) + 1 |]
Antiquoting bound names. Names that are antiquoted appear surrounded by double underscores. For instance:
let f = "incr"
fE = Hs.Var $ Hs.UnQual $ Hs.name f
in [hs| let __f__ x = x + 1 in $fE 10 |]
We need three different syntaxes for antiquotations, because we do not extend the haskell-src-exts parser in any way and the Template Haskell splicing syntax is only available in expression contexts.
Properties
| Versions | 0.1, 0.2, 0.2.1, 0.2.2, 0.2.3, 0.3.0, 0.4.0, 0.5.0, 0.6.0, 0.6.1 |
|---|---|
| Dependencies | base (4.*), haskell-src-exts (≥1.9.0), haskell-src-meta (≥0.3), syb, template-haskell |
| License | BSD3 |
| Author | Mathieu Boespflug |
| Maintainer | Mathieu Boespflug <mboes@tweag.net> |
| Category | Language |
| Source repository | git clone git://github.com/mboes/haskell-src-exts-qq |
| Upload date | Thu Aug 23 17:06:38 UTC 2012 |
| Uploaded by | MathieuBoespflug |
| Built on | ghc-7.4 |
Modules
- Language
- Haskell
Downloads
- haskell-src-exts-qq-0.6.1.tar.gz (Cabal source package)
- package description (included in the package)