ghc-lib-parser-ex: Algorithms on GHC parse trees

[ bsd3, development, library ] [ Propose Tags ] [ Report a vulnerability ]
Versions [RSS] 0.20200102, 0.20200201, 0.20200201.1.0, 0.20200205.0.0, 0.20200301, 0.20200401, 0.20200501, 0.20200601, 0.20200704, 0.20200801, 0.20200901, 0.20201001, 0.20201101, 0.20201201, 0.20210101, 0.20210201, 0.20210228, 0.20210331, 0.20210501, 0.20210601, 0.20210701, 0.20210801, 0.20210901, 0.20211001, 0.20211101, 0.20211201, 0.20220103, 0.20220201, 0.20220301, 0.20220401, 0.20220501, 0.20220601, 0.20220701, 0.20220801, 0.20220901, 0.20221001, 0.20221101, 0.20221201, 8.8.1.20191204, 8.8.2, 8.8.3.0, 8.8.4.0, 8.8.5.0, 8.8.5.1, 8.8.5.2, 8.8.5.3, 8.8.5.4, 8.8.5.5, 8.8.5.6, 8.8.5.7, 8.8.5.8, 8.8.6.0, 8.8.6.1, 8.10.0.0, 8.10.0.1, 8.10.0.2, 8.10.0.3, 8.10.0.4, 8.10.0.5, 8.10.0.6, 8.10.0.7, 8.10.0.8, 8.10.0.9, 8.10.0.10, 8.10.0.11, 8.10.0.12, 8.10.0.12.1, 8.10.0.13, 8.10.0.14, 8.10.0.15, 8.10.0.16, 8.10.0.17, 8.10.0.18, 8.10.0.19, 8.10.0.20, 8.10.0.21, 8.10.0.22, 8.10.0.23, 8.10.0.24, 9.0.0.0, 9.0.0.1, 9.0.0.2, 9.0.0.3, 9.0.0.4, 9.0.0.5, 9.0.0.6, 9.2.0.0, 9.2.0.1, 9.2.0.2, 9.2.0.3, 9.2.0.4, 9.2.1.0, 9.2.1.1, 9.4.0.0, 9.6.0.0, 9.6.0.1, 9.6.0.2, 9.8.0.0, 9.8.0.1, 9.8.0.2, 9.10.0.0 (info)
Change log ChangeLog.md
Dependencies base (>=4.7 && <5), bytestring (>=0.10.8.2), containers (>=0.5.8.1), extra (>=1.6.19), ghc (>=8.8 && <8.9), ghc-boot, ghc-boot-th, ghc-lib-parser, uniplate (>=1.5) [details]
Tested with ghc ==8.8.2, ghc ==8.6.5
License BSD-3-Clause
Copyright Copyright © 2020, Shayne Fletcher. All rights reserved.
Author Shayne Fletcher
Maintainer shayne@shaynefletcher.org
Category Development
Home page https://github.com/shayne-fletcher/ghc-lib-parser-ex#readme
Bug tracker https://github.com/shayne-fletcher/ghc-lib-parser-ex/issues
Source repo head: git clone https://github.com/shayne-fletcher/ghc-lib-parser-ex
Uploaded by shayne_fletcher at 2020-03-01T14:35:42Z
Distributions Arch:9.2.1.1, Debian:8.10.0.16, Fedora:9.4.0.0, LTSHaskell:9.6.0.2, NixOS:9.6.0.2, Stackage:9.8.0.2, openSUSE:9.8.0.2
Reverse Dependencies 5 direct, 47 indirect [details]
Downloads 68156 total (599 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2020-03-01 [all 1 reports]

Readme for ghc-lib-parser-ex-0.20200301

[back to package description]

ghc-lib-parser-ex License BSD3 Hackage version Stackage version Build Status

Copyright © 2020, Shayne Fletcher. All rights reserved. SPDX-License-Identifier: BSD-3-Clause

The ghc-lib-parser-ex package contains GHC API parse tree utilities. It works with or without ghc-lib-parser.

Using ghc-lib-parser-ex

Package ghc-lib-parser-ex is on Hackage e.g. cabal install ghc-lib-parser-ex. Like ghc-lib-parser, there are two release streams within the ghc-lib-parser-ex name.

Version numbers are of the form α.β.γ.δ where α.β corresponds to a GHC series and γ.δ are the major and minor parts of the ghc-lib-ex-parser package release. Examples:

  • Version 8.10.1.3 is compatible with any ghc-lib-parser-8.10.* (or ghc-8.10.*) package;
  • Version 0.20190204.2.0 is compatible with ghc-lib-parser-0.20190204.

The major part γ of the release number indicates an interface breaking change from the previous release. The minor part δ indicates a non-interface breaking change from the previous release.

Building ghc-lib-parser-ex

You can build with stack build and test with stack test. Produce ghc-lib-parser-ex package distributions by executing the CI script:

# Setup
git clone git@github.com:shayne-fletcher/ghc-lib-parser-ex.git
cd ghc-lib-parser-ex
stack runhaskell --package extra --package optparse-applicative CI.hs

Run stack runhaskell --package extra --package optparse-applicative CI.hs -- --help for more options.

To run hlint on this repository, hlint --cpp-include cbits --cpp-define GHCLIB_API_XXX . (where XXX at this time is one of 808, 810 or 811).

Releasing ghc-lib-parser-ex (notes for maintainers)

Update the changelog, git tag <version> && git push origin <version> then build via the above instructions and upload the resulting .tar.gz files to Hackage.