The haskell-src-meta package

[Tags:bsd3, library]

The translation from haskell-src-exts abstract syntax to template-haskell abstract syntax isn't 100% complete yet.

[Skip to Readme]


Versions 0.0.0, 0.0.1, 0.0.2, 0.0.3,, 0.0.4, 0.0.5, 0.0.6, 0.1.0, 0.1.1, 0.2, 0.3, 0.4,,, 0.5,,, 0.5.1,,, 0.6,,,,,,,,,,,,,,
Dependencies base (>=4.2 && <4.6), haskell-src-exts (>=1.8 && <1.12), pretty (>=1.0 && <1.2), syb (>=0.1 && <0.4), template-haskell (>=2.4 && <2.9), th-lift (==0.5.*), uniplate (>=1.3 && <1.7) [details]
License BSD3
Copyright (c) Matt Morrow
Author Matt Morrow
Maintainer Ben Millwood <>
Stability experimental
Category Language
Bug tracker
Source repository head: git clone git://
Uploaded Tue Feb 14 21:23:58 UTC 2012 by BenMillwood
Distributions Debian:, LTSHaskell:, NixOS:, Stackage:
Downloads 24166 total (80 in the last 30 days)
0 []
Status Docs uploaded by user
Build status unknown [no reports yet]




new-thBuild with template-haskell >= 2.7.0EnabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees

Readme for haskell-src-meta

Readme for haskell-src-meta-0.5.1

haskell-src-meta is a package originally by Matt Morrow for converting a
parsed AST from haskell-src-exts to a TH AST for use in splices and
quasiquoters. The last version Matt released before he disappeared from
the Haskell community was 0.0.6, but by that time his library was
already popular, so some community members eventually decided to take
over maintenance of the package, keeping it up to date with the latest
versions of TH etc.

I don't really view this as "my" package so if you want write access to
the github repository, or you think you could do a better job as
maintainer, just ask.

Major changes: -> 0.5.1:
- New module Language.Haskell.Meta.Parse.Careful, written by Reiner Pope
  so that ambiguous parses can be rejected instead of quietly done wrong. ->
- Support for GHC 7.4, thanks to Reiner Pope
- Support for unresolved infix expressions, again thanks to Reiner Pope ->
- Fixed bug in translation of tuple constructors

0.5 ->
- Added support for primitive string literals (Only in TH >= 2.5) -> 0.5:
- Added support for instance declarations ->
- Compatibility with GHC 7.2

0.4 ->
- Deprecate myDefaultParseMode and myDefaultExtensions in L.H.M.Parse

0.3 -> 0.4:
- Remove Language.Haskell.Meta.Syntax.Vars and the L.H.M.Syntax re-export module
- Remove dependency on containers
- Add support for let statements in (pattern) guards
- Add support for negative patterns
- Remove "support" for SpliceExps that didn't really make sense
- Improve many error messages where things are unimplemented or impossible

0.2 -> 0.3:
- Fixes/additions to inline pragma support (Jonas Duregard)
- Compatibility with GHC 7 and TH 2.5 - totalling three major versions!
- Move some of the quasiquoters to their own package, and stop exporting
  the rest (they are kept as examples of usage)

0.1.1 -> 0.2:
- Compatibility with GHC 6.10 and TH 2.3 (Geoffrey Mainland)
- Add support for do-blocks, pattern guards (Adam Vogt)
- Add applicative-do quasiquoter (Adam Vogt)

0.1.0 -> 0.1.1:
- Add support for inline pragmas, and improve support for type
  signatures (patch by Jonas Duregard)

0.0.6 -> 0.1.0:
- Used the th-lift library to autogenerate the instances of Lift in
- Added support for the new features of template-haskell-
  contexts, kinds, bang patterns, unboxed word literals.
- Updated use of haskell-src-exts in response to API changes.
- Added ToDecs class because some HSE Decls don't map to a single Dec.
  (patch by Jonas Duregard)