homepage: ''
changelog-type: ''
hash: c001f77b64f5c339309509a5378817a80bc66e9b5918e1298529b9711ce5c78d
test-bench-deps: {}
maintainer: Jan Bracker <jan.bracker@googlemail.com>
synopsis: Plugin and base library to support supermonads in Haskell
changelog: ''
basic-deps:
  ghc: ! '>=7.10.1 && <8.1'
  base: ! '>=4.8 && <5'
  containers: ! '>=0.5 && <0.6'
  fgl: ! '>=5.5 && <6.0'
  mtl: ! '>=2.2 && <3'
  transformers: ! '>=0.4 && <0.6'
all-versions:
- '0.1'
author: Jan Bracker <jan.bracker@googlemail.com>
latest: '0.1'
description-type: markdown
description: ! "# Supermonads for GHC\n\nImplementation of supermonads for GHC.\n\n##
  GHC Version\n\nThe implementation has been tested with GHC in version 7.10.3 and
  GHC 8.0.1.\n\nVersions of GHC prior to version 7.10.1 will most certainly not work,\nbecause
  the plugin mechanism was still in development.\n\nNewer version of GHC may work.
  If you encounter problems with a newer version\nof GHC, please file a bug report
  so they can be fixed.\n\n## Usage\n\nTo use supermonads in a module you need to
  do the following:\n\n* Enable `RebindableSyntax` in your module by using the `LANGUAGE`
  pragma:\n  \n  ```{-# LANGUAGE RebindableSyntax #-}```\n  \n* Enable the plugin
  in that modules using the the `OPTIONS_GHC` pragma:\n  \n  ```{-# OPTIONS_GHC -fplugin
  Control.Supermonad.Plugin #-}```\n  \n* Import the supermonad prelude `Control.Supermonad.Prelude`.\n
  \ If you choose to work with constrained monads you will need to\n  import `Control.Supermonad.Constrained.Prelude`
  instead.\n* Make sure to compile the module with the `-dynamic` flag.\n  This is
  required for GHC's plugin mechanism to work properly.\n\n## Bug Reports\n\nIf you
  file a bug report, please always include the version of GHC \nyou are working with
  and a minimal example that shows the problem.\n\n## Examples\n\nExamples for the
  use of the plugin with different kinds of monad generalizations \nare provided in
  the `examples` directory. All examples have their own separate \ncabal file and
  offer a version of the code with and without the use of supermonads.\n\n## Known
  Problems\n\n* The `effect` example will not compile with GHC 8+, \n  because the
  `effect-monad` package requires `base < 4.9`\n  but GHC 8+ delivers `base >= 4.9`."
license-name: BSD3

Update from Hackage at 2016-09-14T12:33:02+0000
Update from Hackage at 2016-09-14T12:33:02+0000
