@hackage hoopl3.10.2.2
A library to support dataflow analysis and optimization
Categories
License
BSD-3-Clause
Maintainer
Ning Wang <email@ningwang.org>, Michal Terepeta <michal.terepeta@gmail.com>, Norman Ramsey <nr@cs.tufts.edu>
Links
Versions
Installation
Tested Compilers
Dependencies (2)
- base >=4.3 && <4.12
- containers >=0.5 && <0.6 Show all…
Dependents (10)
@hackage/ethereum-analyzer, @hackage/text-show-instances, @hackage/ghc, @hackage/linearscan-hoopl, @hackage/acme-everything, @hackage/ghc-instances, Show all…
The hoopl Package

Hoopl: A Higher-Order OPtimization Library
API documentation can be found on Hackage. For detailed explanation of the library design see paper "Hoopl: A Modular, Reusable Library for Dataflow Analysis and Transformation"
| Directory | Contents |
|---|---|
src/ |
The current official sources to the Cabal package |
testing/ |
Tests, including a sample client. See testing/README |
Development Notes
Building and testing
To build the library run:
cabal configure
cabal build
cabal install --enable-documentation
To run the tests in the testing/ folder run:
cabal configure --enable-tests
cabal test
To run the tests with the test coverage report run:
cabal configure --enable-tests --enable-coverage
cabal test
You'll need a Haskell Platform, which should include appropriate versions of Cabal and GHC.
Coding style
Please follow Johan Tibell's Haskell Style Guide for all new/modified code.
Checklist for Making Releases
In order to facilitate GHC development's workflow, the version in hoopl.cabal is to be bumped as soon as a change requires a respective version bump (according to the PVP) relative to the last released hoopl version.
- Make sure
hooplpasses Travis for all GHC versions in the build-matrix - Update Changelog (&
git commit) - Generate source tarball via
cabal sdistand upload a candidate to Hackage (see note below), and inspect the result. - If everything checks out, make an annotated and GPG-signed Git release tag:
git tag -a -s v${VER} -m "hoopl ${VER}" - Publish (there's a button for that on Hackage) the package candidate
- Work on next release
Note: To upload to Hackage,
cabal sdist
cabal upload dist/hoopl-*.tar.gz
However, it's recommended use the Hackage feature for uploading a candidate.