Name: transformers-supply Version: 0.1.0 Homepage: Bug-Reports: https://bitbucket.org/merijnv/transformers-supply/issues Author: Merijn Verstraaten Maintainer: Merijn Verstraaten Copyright: Copyright © 2013 Merijn Verstraaten License: BSD3 License-File: LICENSE Category: System Cabal-Version: >= 1.10 Build-Type: Simple Tested-With: GHC == 7.6.3 Synopsis: Supply applicative, monad, applicative transformer and monad transformer. Description: The @Supply@ monad represents a computation that consumes values from a provided supply. . This package comes with two separate implementations, @Control.Applicative.Supply@ and @Control.Monad.Trans.Supply@. The former provides an applicative and applicative transformer, the latter a monad and monad transformer. . The reason for providing two separate implementations is that the @Applicative@ instance of @Control.Monad.Trans.Supply.SupplyT@ incurs a @Monad@ constraint on the wrapped type, meaning it's not possible to (usefully) wrap a type that only has an @Applicative@ instance. . The implementation of @Control.Applicative.Supply.SupplyT@ has an @Applicative@ instance for wrapped types that are only @Applicative@, but this implementation cannot be made an instance of @Monad@, meaning it is less powerful than the version from @Control.Monad.Trans.Supply@. . In general, use @Control.Monad.Trans.Supply@ unless you're wrapping a type that has no @Monad@ instance, in which case you can fall back to @Control.Applicative.Supply@. Library Default-Language: Haskell2010 GHC-Options: -Wall GHC-Prof-Options: -auto-all -caf-all -rtsopts Exposed-Modules: Control.Applicative.Supply Control.Monad.Trans.Supply if impl(ghc) Exposed-Modules: Control.Monad.Supply Control.Monad.Supply.Class Build-Depends: base >= 4 && < 5 , transformers >= 0.3 , mtl >= 2.1 Source-Repository head Type: mercurial Location: https://bitbucket.org/merijnv/transformers-supply Source-Repository head Type: mercurial Location: git+ssh://github.com:merijn/transformers-supply.git