• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

cbits/H07-Feb-2021-3830

src/Language/Haskell/GhclibParserEx/H07-Feb-2021-1,5881,220

test/H07-Feb-2021-402371

ChangeLog.mdH A D07-Feb-20215.7 KiB176128

LICENSEH A D07-Feb-20211.6 KiB3527

README.mdH A D07-Feb-20212.8 KiB3523

Setup.hsH A D07-Feb-202146 32

ghc-lib-parser-ex.cabalH A D07-Feb-20213.6 KiB129123

README.md

1# ghc-lib-parser-ex [![License BSD3](https://img.shields.io/badge/license-BSD3-brightgreen.svg)](http://opensource.org/licenses/BSD-3-Clause) [![Hackage version](https://img.shields.io/hackage/v/ghc-lib-parser-ex.svg?label=Hackage)](https://hackage.haskell.org/package/ghc-lib-parser-ex) [![Stackage version](https://www.stackage.org/package/ghc-lib-parser-ex/badge/nightly?label=Stackage)](https://www.stackage.org/package/ghc-lib-parser-ex)  [![Build Status](https://shayne-fletcher.visualstudio.com/ghc-lib-parser-ex/_apis/build/status/shayne-fletcher.ghc-lib-parser-ex?branchName=master)](https://shayne-fletcher.visualstudio.com/ghc-lib-parser-ex/_build/latest?definitionId=1&branchName=master)
2Copyright © 2020, Shayne Fletcher. All rights reserved.
3SPDX-License-Identifier: BSD-3-Clause
4
5The `ghc-lib-parser-ex` package contains GHC API parse tree utilities. It works with or without [`ghc-lib-parser`](https://github.com/digital-asset/ghc-lib).
6
7## Using `ghc-lib-parser-ex`
8
9Package `ghc-lib-parser-ex` is on [Hackage](https://hackage.haskell.org/package/ghc-lib-parser-ex) e.g. `cabal install ghc-lib-parser-ex`. Like `ghc-lib-parser`, there are two release streams within the `ghc-lib-parser-ex` name.
10
11### Versioning policy
12
13Package `ghc-lib-parser-ex` does **not** conform to the [Haskell Package Versioning Policy](https://pvp.haskell.org/). 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:
14* Version 8.10.1.3 is compatible with any `ghc-lib-parser-8.10.*` (or `ghc-8.10.*`) package;
15* Version 0.20190204.2.0 is compatible with [`ghc-lib-parser-0.20190204`](http://hackage.haskell.org/package/ghc-lib-0.20190204).
16
17The 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.
18
19## Building `ghc-lib-parser-ex`
20
21You can build with `stack build` and test with `stack test`. Produce `ghc-lib-parser-ex` package distributions by executing the CI script:
22```bash
23# Setup
24git clone git@github.com:shayne-fletcher/ghc-lib-parser-ex.git
25cd ghc-lib-parser-ex
26stack runhaskell --package extra --package optparse-applicative CI.hs
27```
28Run `stack runhaskell --package extra --package optparse-applicative CI.hs -- --help` for more options.
29
30To run [`hlint`](https://github.com/ndmitchell/hlint) on this repository, `hlint --cpp-include cbits --cpp-define GHCLIB_API_XXX .` (where `XXX` at this time is one of `808`, `810` or `900`).
31
32## Releasing `ghc-lib-parser-ex` (notes for maintainers)
33
34Update the [changelog](./ChangeLog.md), `git tag <version> && git push origin <version>` then build via the [above instructions](#building-ghc-lib-parser-ex) and upload the resulting `.tar.gz` files to [Hackage](https://hackage.haskell.org/upload).
35