ghc-exactprint: ExactPrint for GHC

[ bsd3, development ] [ Propose Tags ] [ Report a vulnerability ]

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.

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.7 && <5.0), bytestring (>=0.10.6), containers (>=0.5), Diff, directory (>=1.2), 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]
Tested with ghc ==7.10.3, ghc ==8.0.1, ghc ==8.0.2
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 2017-02-08T19:00:47Z
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 48333 total (335 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 2017-02-08 [all 1 reports]