API documentation can be found on Hackage.
Directory | Contents |
---|---|
paper/ |
A paper about Hoopl |
prototypes/ |
A sampling of prototypes and early designs |
src/ |
The current official sources to the Cabal package |
testing/ |
Tests, including a sample client. See testing/README |
To build the library, change to the src directory and run
cabal configure --prefix=$HOME --user # we have no idea what this means
cabal build
cabal install --enable-documentation
To run the tests in the folder testing/, change to the src directory and run
cabal configure --enable-tests
cabal test
To run the tests with the test coverage report, change to the src directory and run
cabal configure --enable-tests -f testcoverage
cabal test
You'll need a Haskell Platform, which should include appropriate versions of Cabal and GHC.
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
hoopl
passes Travis for all GHC versions in the build-matrix - Update Changelog (&
git commit
) - Generate source tarball via
cabal sdist
and 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.