Convert between different Haskell syntax trees. Bairyn's fork.
This is a fork of Dominic Orchard's syntax-trees package that is patched just to build on Haskell's more modern ecosystem.
Provides an instance that translates haskell-src-exts expression trees into Template Haskell expression trees in a way that depends only on the haskell-src-exts syntax tree and agreement on the pretty-printed representation of Haskell between haskell-src-exts pretty-printer and Template Haskell quotations (as opposed to depending on both TH and haskell-src-exts syntax tree representations).
Instead of converting between data types, haskell-src-exts syntax trees are pretty-printed and wrapped in a TH quotation which is then interpreted as a Haskell program, yielding a TH Exp tree. Free variables in the haskell-src-exts tree are preserved by lifting them to TH splices prior to pretty-printing.
Notes on repository.
This repository hosts currently a fork of Dominic Orchard's syntax-trees project residing in a VCS repository, git in particular, with the following branches:
- master: Currently the branch for the actual fork, for the syntax-trees-fork-bairyn package. Version tags refer to commits in this branch.
- cherry-picked-build-fixes: Contains the initial import of the syntax-trees package with just build fixes cherry picked in.
- cherry-picked-build-and-warning-fixes: Based on cherry-picked-build-fixes, this branch adds fixes to warnings, an addition of the "-Wall" flag for GHC so that warnings are emitted during the build process, and the correction of "template-haskell" typos.
- fork-no-rename: Based on master, and adds commits that reverses the renaming of the fork and module names.