name: supermonad version: 0.2.0.1 synopsis: Plugin and base library to support supermonads in Haskell category: Type System, Plugin, Monad license: BSD3 license-file: LICENSE author: Jan Bracker maintainer: Jan Bracker bug-reports: https://github.com/jbracker/supermonad/issues stability: experimental copyright: Copyright (c) 2016, Jan Bracker build-type: Simple cabal-version: >=1.10 tested-with: GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.1 extra-source-files: README.md , changelog.md , Makefile , examples/applicative/ll1-parser/ll1-parser-example.cabal , examples/applicative/ll1-parser/*.hs , examples/applicative/bankers/bankers.cabal , examples/applicative/bankers/*.hs , examples/monad/constrained/constrained-example.cabal , examples/monad/constrained/*.hs , examples/monad/effect/effect-example.cabal , examples/monad/effect/*.hs , examples/monad/minimal/minimal.cabal , examples/monad/minimal/*.hs , examples/monad/session/session-example.cabal , examples/monad/session/*.hs , examples/monad/session-chat/original/session-chat-orig-example.cabal , examples/monad/session-chat/original/*.hs , examples/monad/session-chat/supermonad/session-chat-supermonad-example.cabal , examples/monad/session-chat/supermonad/*.hs , examples/monad/hmtc/monad-param/hmtc-monad-param.cabal , examples/monad/hmtc/monad-param/Makefile , examples/monad/hmtc/monad-param/*.y , examples/monad/hmtc/monad-param/*.hs , examples/monad/hmtc/original/hmtc-orig.cabal , examples/monad/hmtc/original/Makefile , examples/monad/hmtc/original/*.y , examples/monad/hmtc/original/*.hs , examples/monad/hmtc/supermonad/hmtc-supermonad.cabal , examples/monad/hmtc/supermonad/Makefile , examples/monad/hmtc/supermonad/*.y , examples/monad/hmtc/supermonad/*.hs , examples/monad/hmtc/test-files/*.mt , examples/test/missing-functions/missing-functions.cabal , examples/test/missing-functions/*.hs description: 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. Supermonads provide a unified representation of several monadic generalizations to remove the need for manual disambiguation between these notions and allow sharing of common functions between them. Additional information can be found in the . source-repository head type: git location: https://github.com/jbracker/supermonad.git library exposed-modules: Control.Super.Monad , Control.Super.Monad.Prelude , Control.Super.Monad.Functions , Control.Super.Monad.Alternative , Control.Super.Monad.MonadPlus , Control.Super.Monad.Plugin , Control.Super.Monad.PreludeWithoutMonad , Control.Super.Monad.Constrained , Control.Super.Monad.Constrained.Functor , Control.Super.Monad.Constrained.Prelude , Control.Super.Monad.Constrained.Functions , Control.Super.Monad.Constrained.Alternative , Control.Super.Monad.Constrained.MonadPlus -- Legacy Modules , Control.Supermonad , Control.Supermonad.Prelude , Control.Supermonad.Functions , Control.Supermonad.Plugin , Control.Supermonad.Constrained , Control.Supermonad.Constrained.Prelude other-modules: Control.Super.Plugin.Utils , Control.Super.Plugin.Names , Control.Super.Plugin.Wrapper , Control.Super.Plugin.Log , Control.Super.Plugin.Detect , Control.Super.Plugin.Debug , Control.Super.Plugin.Constraint , Control.Super.Plugin.Instance , Control.Super.Plugin.Evidence , Control.Super.Plugin.Environment , Control.Super.Plugin.Environment.Lift , Control.Super.Plugin.Separation , Control.Super.Plugin.Solving , Control.Super.Plugin.InstanceDict , Control.Super.Plugin.ClassDict , Control.Super.Plugin.Prototype , Control.Super.Plugin.Collection.Map , Control.Super.Plugin.Collection.Set other-extensions: build-depends: base >=4.8 && <5 , ghc >=7.10.1 && <8.3 -- ^ We require version 7.10.1+, because we use the cpp macro: -- MIN_VERSION_GLASGOW_HASKELL(x,y,z,z') -- http://downloads.haskell.org/~ghc/8.0.1/docs/html/users_guide/phases.html#standard-cpp-macros , containers >=0.5 && <0.6 , mtl >=2.2 && <3 , transformers >=0.4 && <0.6 -- ^ Should match mtl dependency , fgl >= 5.5 && <6.0 hs-source-dirs: src default-language: Haskell2010 ghc-options: -Wall -dynamic -- Enable if things go wrong magically: -dcore-lint test-suite tests type: exitcode-stdio-1.0 default-language: Haskell2010 hs-source-dirs: tests, src ghc-options: -Wall main-is: Main.hs other-modules: Control.Super.Plugin.Collection.Map , Control.Super.Plugin.Collection.Set , Control.Super.Plugin.Wrapper , Test.Control.Super.Plugin.Collection.Map , Test.Control.Super.Plugin.Collection.Set , Test.Utils build-depends: base >=4.8 && <5 , ghc >=7.10.1 && <8.3 , containers >=0.5 && <0.6 , QuickCheck