ghc-exactprint: ExactPrint for GHC

[ bsd3, development ] [ Propose Tags ]

Using the API Annotations available from GHC 7.10.2, this library provides a means to round trip any code that can be compiled by GHC, currently excluding lhs files.

It does this with a phased approach

  • Delta - converts GHC API Annotations into relative offsets, indexed by SrcSpan

  • Transform - functions to facilitate changes to the AST, adjusting the annotations generated in the Delta phase to suit the changes.

  • Print - converts an AST and its annotations to properly formatted source text.

  • Pretty - adds annotations to an AST (fragment) so that the output can be parsed back to the same AST.

Note: requires GHC 7.10.2 or later

Flags

Automatic Flags
NameDescriptionDefault
roundtrip

Build roundtripping executables

Disabled
dev

Development mode, do not use ghc-exactprint lib in the tests

Disabled

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

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.1.0.1, 0.1.1.0, 0.2, 0.3, 0.3.1, 0.3.1.1, 0.4.0.0, 0.4.1.0, 0.4.2.0, 0.5.0.0, 0.5.0.1, 0.5.1.0, 0.5.1.1, 0.5.2, 0.5.2.1, 0.5.3.0, 0.5.3.1, 0.5.4.0, 0.5.5.0, 0.5.6.0, 0.5.6.1, 0.5.7.0, 0.5.7.1, 0.5.8.0, 0.5.8.1, 0.5.8.2, 0.6, 0.6.1, 0.6.2, 0.6.3, 0.6.3.1, 0.6.3.2, 0.6.3.3, 0.6.3.4, 0.6.4, 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.4.0.1, 1.4.1, 1.5.0, 1.6.0, 1.6.1, 1.6.1.1, 1.6.1.2, 1.6.1.3, 1.7.0.0, 1.7.0.1, 1.7.1.0, 1.8.0.0, 1.9.0.0, 1.10.0.0 (info)
Change log ChangeLog
Dependencies base (>=4.8 && <4.13), bytestring (>=0.10.6), containers (>=0.5), Diff, directory (>=1.2), fail (>=4.9 && <4.10), filemanip, filepath (>=1.4), free (>=4.12), ghc (>=7.10.2), ghc-boot, ghc-exactprint, ghc-paths (>=0.1), HUnit, mtl (>=2.2.1), syb (>=0.5), temporary, text (>=1.2.2), time, turtle (>=1.3.0) [details]
License BSD-3-Clause
Author Alan Zimmerman, Matthew Pickering
Maintainer alan.zimm@gmail.com
Category Development
Source repo head: git clone https://github.com/alanz/ghc-exactprint.git
Uploaded by AlanZimmerman at 2019-03-01T15:39:15Z
Distributions Arch:1.5.0, Debian:0.6.2, LTSHaskell:1.7.1.0, NixOS:1.7.1.0, Stackage:1.8.0.0
Reverse Dependencies 19 direct, 29 indirect [details]
Executables prepare-hackage, static, roundtrip
Downloads 48294 total (354 in the last 30 days)
Rating 2.5 (votes: 3) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2019-03-01 [all 1 reports]