The supermonad package

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.


The supermonad library adds support for supermonads to GHC using a type checker plugin. Plugins are available from GHC 7.10 onwards. The base library containing the Haskell representation of super monads is also given by this package. Additional information can be found in the README.

[Skip to ReadMe]


Versions0.1, 0.1
Change logNone available
Dependenciesbase (>=4.8 && <5), containers (==0.5.*), fgl (>=5.5 && <6.0), ghc (>=7.10.1 && <8.1), mtl (>=2.2 && <3), transformers (>=0.4 && <0.6) [details]
CopyrightCopyright (c) 2016, Jan Bracker
AuthorJan Bracker <>
MaintainerJan Bracker <>
CategoryType System, Plugin, Monad
Bug tracker
Source repositoryhead: git clone
UploadedWed Sep 14 11:56:36 UTC 2016 by JanBracker




Maintainers' corner

For package maintainers and hackage trustees

Readme for supermonad-0.1

Supermonads for GHC

Implementation of supermonads for GHC.

GHC Version

The implementation has been tested with GHC in version 7.10.3 and GHC 8.0.1.

Versions of GHC prior to version 7.10.1 will most certainly not work, because the plugin mechanism was still in development.

Newer version of GHC may work. If you encounter problems with a newer version of GHC, please file a bug report so they can be fixed.


To use supermonads in a module you need to do the following:

Bug Reports

If you file a bug report, please always include the version of GHC you are working with and a minimal example that shows the problem.


Examples for the use of the plugin with different kinds of monad generalizations are provided in the examples directory. All examples have their own separate cabal file and offer a version of the code with and without the use of supermonads.

Known Problems