hoopl: A library to support dataflow analysis and optimization

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

Warnings:

Higher-order optimization library

See Norman Ramsey, Joao Dias, and Simon Peyton Jones. "Hoopl: A Modular, Reusable Library for Dataflow Analysis and Transformation" (2010) for more details.


[Skip to Readme]

Properties

Versions 3.7.0.0, 3.7.1.0, 3.7.2.2, 3.7.3.3, 3.7.3.4, 3.7.3.5, 3.7.4.0, 3.7.7.0, 3.7.8.0, 3.7.12.1, 3.8.3.0, 3.8.6.0, 3.8.7.0, 3.8.7.1, 3.8.7.3, 3.8.7.4, 3.9.0.0, 3.10.0.0, 3.10.0.1, 3.10.0.2, 3.10.1.0, 3.10.1.0, 3.10.2.0, 3.10.2.1, 3.10.2.2
Change log changelog.md
Dependencies base (>=4.3 && <4.9), containers (>=0.4 && <0.6) [details]
License BSD-3-Clause
Author Norman Ramsey, Joao Dias, Simon Marlow and Simon Peyton Jones
Maintainer nr@cs.tufts.edu, andreas.voellmy@gmail.com, email@ningwang.org
Category Compilers/Interpreters
Home page http://ghc.cs.tufts.edu/hoopl/
Bug tracker http://ghc.haskell.org/trac/ghc/newticket?component=libraries/hoopl
Source repo head: git clone http://git.haskell.org/packages/hoopl.git
Uploaded by AndreasVoellmy at 2015-05-05T13:02:14Z

Modules

[Index]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Readme for hoopl-3.10.1.0

[back to package description]

The hoopl Package Hackage Build Status

Hoopl: A Higher-Order OPtimization Library

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

Development Notes

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

You'll need a Haskell Platform, which should include appropriate versions of Cabal and GHC.

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.

  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.
  4. If everything checks out, make an annotated and GPG-signed Git release tag: git tag -a -s v${VER} -m "hoopl ${VER}"
  5. Publish (there's a button for that on Hackage) the package candidate
  6. 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.