Upgrade testing infrastructure to haskell-ci (#49)
[packages/hoopl.git] / README.md
index d4b0129..a8eb3c0 100644 (file)
--- a/README.md
+++ b/README.md
@@ -3,28 +3,50 @@ The `hoopl` Package  [![Hackage](https://img.shields.io/hackage/v/hoopl.svg)](ht
 
 ## Hoopl: A Higher-Order OPtimization Library
 
-API documentation can be found on [Hackage](https://hackage.haskell.org/package/directory).
+API documentation can be found on
+[Hackage](https://hackage.haskell.org/package/hoopl).  For detailed explanation
+of the library design see paper ["Hoopl: A Modular, Reusable Library for
+Dataflow Analysis and
+Transformation"](http://research.microsoft.com/en-us/um/people/simonpj/Papers/c--/hoopl-haskell10.pdf)
 
 | 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`](testing/README)
 
 ### Development Notes
 
-To build the library, change to the src directory and run
+#### Building and testing
 
-    cabal configure --prefix=$HOME --user   # we have no idea what this means
+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](https://github.com/tibbe/haskell-style-guide/blob/master/haskell-style.md)
+for all new/modified code.
+
 ### Checklist for Making Releases
 
+In order to facilitate GHC development's workflow, the version in [`hoopl.cabal`](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.
+
 1. Make sure `hoopl` passes Travis for all GHC versions in the build-matrix
 2. Update Changelog (& `git commit`)
 3. Generate source tarball via `cabal sdist` and upload a candidate to Hackage (see note below), and inspect the result.