Parse source to template-haskell abstract syntax.

Version on this page:0.8.2
LTS Haskell 13.25:0.8.2
Stackage Nightly 2019-06-12:0.8.2
Latest on Hackage:0.8.2

See all snapshots haskell-src-meta appears in

BSD-3-Clause licensed by Matt Morrow
Maintained by danburton.email@gmail.com

Module documentation for 0.8.2

The haskell-src-meta Package Hackage Build Status

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.

The above was written by Ben Millwood, but I (Dan Burton) share the same sentiment.


- Added ToExp implementation for type application
- Added parseDecsWithMode and parseHsDeclsWithMode

- Compatible with GHC 8.6, haskell-src-exts 1.22
- Bump base and template-haskell library to versions shipped with GHC 7.6.

- Compatibility with GHC 8.2.
- Remove deprecated modules.
- Fixed a bug that caused deriving clauses to be ignored on TH 2.11.

- Compatibility with haskell-src-exts 1.18.
- Support dropped for GHC < 7.6 and haskell-src-exts < 1.17.
- Compatibility with GHC 8.0.
- Compatibility with GHC HEAD, haskell-src-exts 1.17
- Remove hsBindsToDecs, since it was redundant with toDecs. Technically this
requires a minor-version bump, but I doubt anyone was using it.
- Support th-orphans 0.13
- Support syb 0.6
- Support syb 0.5, th-orphans 0.12
- Compatibility with GHC 7.10
- Update th-orphans dependency
- Drop GHC < 7.4 support (actually it was already broken, since HSE 1.16
requires base >= 4.5)
- Move to HSE 1.16
- Fix compilation oops
- Move to HSE 1.15, adding support for multiway if
- Update th-orphans dependency
- Drop support for GHC 6.12
- Move to HSE 1.14
- Update th-orphans dependency
- Some dependency loosening in anticipation of GHC 7.8
- Update syb dependency
- Fix haddock parse error

- Cabal category Template Haskell
- Partial support for list comprehensions
- Support for type and data families and class decs
- Split orphan instances into new package th-orphans
- above changes courtesy of mgsloan
- L.H.TH.Instances.Lift now deprecated
- Removed L.H.M.Utils.deriveLiftPretty, dropped th-lift dependency
- Rename L.H.M.Utils.unQ to unsafeRunQ
- instance ToName Op
- Support for unboxed tuple types and kind signatures
- Compatibility with GHC 7.6.1, bringing support for kind variables
and infix declarations
- More sensible determination of TH version available
- View pattern support, thanks to Nicolas Frisby.

- 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
- Added support for primitive string literals (Only in TH >= 2.5)

- Added support for instance declarations
- Compatibility with GHC 7.2
- Deprecate myDefaultParseMode and myDefaultExtensions in L.H.M.Parse

- 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

- 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)

- 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)

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

- 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)

- last version released by Matt Morrow before his disappearance
comments powered byDisqus