Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shayne-fletcher/ghc-lib-parser-ex
GHC API parse tree utilities
https://github.com/shayne-fletcher/ghc-lib-parser-ex
ghc-api ghc-lib-parser
Last synced: 3 months ago
JSON representation
GHC API parse tree utilities
- Host: GitHub
- URL: https://github.com/shayne-fletcher/ghc-lib-parser-ex
- Owner: shayne-fletcher
- License: other
- Created: 2020-01-12T14:10:47.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-10-12T17:00:14.000Z (3 months ago)
- Last Synced: 2024-10-13T21:27:49.860Z (3 months ago)
- Topics: ghc-api, ghc-lib-parser
- Language: Haskell
- Homepage:
- Size: 360 KB
- Stars: 10
- Watchers: 4
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog.md
- License: LICENSE
Awesome Lists containing this project
README
# 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) [![ghc-lib-parser-ex-ghc-lib-parser-9.10.1.20240511](https://github.com/shayne-fletcher/ghc-lib-parser-ex/actions/workflows/ghc-lib-parser-ex-ghc-lib-parser-9.10.1.20240511.yml/badge.svg)](https://github.com/shayne-fletcher/ghc-lib-parser-ex/actions/workflows/ghc-lib-parser-ex-ghc-lib-parser-9.10.1.20240511.yml)Copyright © 2020-2024 Shayne Fletcher. All rights reserved.
SPDX-License-Identifier: BSD-3-ClauseThe `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).
## Using `ghc-lib-parser-ex`
Package `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.
### Versioning policy
Package `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:
* 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`](http://hackage.haskell.org/package/ghc-lib-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`
Produce and test `ghc-lib-parser-ex` package distributions by executing the CI script:
```bash
git clone [email protected]:shayne-fletcher/ghc-lib-parser-ex.git
cd ghc-lib-parser-ex
cabal run exe:ghc-lib-parser-ex-build-tool --allow-newer="ghc-lib-parser-ex:ghc-lib-parser" --constraint="ghc-lib-parser == 9.10.1.20240511" -- --version-tag 9.10.0.1
```To run [`hlint`](https://github.com/ndmitchell/hlint) on this repository, `hlint --cpp-include cbits --cpp-define GHC_XXXX .` (where `XXXX` at this time is one of `8_8`, `8_10`, `9_0`, `9_2`, `9_4`, `9_6`, `9_8` or `9_10`).
## Releasing `ghc-lib-parser-ex` (notes for maintainers)
Update the [changelog](./ChangeLog.md), `git tag && git push origin ` 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).