@hackage ghc-lib-parser-ex0.20220301
Algorithms on GHC parse trees
Categories
License
BSD-3-Clause
Maintainer
shayne@shaynefletcher.org
Links
Versions
Installation
Dependencies (8)
- base >=4.7 && <5
- bytestring >=0.10.8.2
- containers >=0.5.8.1
- ghc-boot-th
- ghc
- ghc-boot Show all…
Dependents (7)
@hackage/hls-hlint-plugin, @hackage/hlint, @hackage/hindent, @hackage/fix-imports, @hackage/haskell-language-server, @hackage/stylish-haskell, Show all…
Package Flags
auto
(on by default)
Use default configuration
no-ghc-lib
(off by default)
Force dependency on native ghc-libs
ghc-lib-parser-ex

Copyright © 2020-2021 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.
Versioning policy
Package ghc-lib-parser-ex
does not conform to the Haskell Package Versioning Policy. 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.*
(orghc-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
, 900
, 902
or HEAD
).
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.