comonads-fd 0.1.1 → 0.4
raw patch · 8 files changed
+169/−45 lines, 8 filesdep ~comonaddep ~comonad-transformersPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: comonad, comonad-transformers
API changes (from Hackage documentation)
- Control.Comonad.Env: EnvT :: e -> w a -> EnvT e a
- Control.Comonad.Env: ask :: ComonadEnv e w => w a -> e
- Control.Comonad.Env: asks :: ComonadEnv e w => (e -> e') -> w a -> e'
- Control.Comonad.Env: class Comonad w => ComonadEnv e w | w -> e
- Control.Comonad.Env: data EnvT e w :: (* -> *) a :: * -> (* -> *) -> * -> *
- Control.Comonad.Env: env :: e -> a -> Env e a
- Control.Comonad.Env: runEnv :: Env e a -> (e, a)
- Control.Comonad.Env: runEnvT :: EnvT e w a -> (e, w a)
- Control.Comonad.Env: type Env e = EnvT e Identity
- Control.Comonad.Store: StoreT :: w (s -> a) -> s -> StoreT s a
- Control.Comonad.Store: class Comonad w => ComonadStore s w | w -> s
- Control.Comonad.Store: data StoreT s w :: (* -> *) a :: * -> (* -> *) -> * -> *
- Control.Comonad.Store: experiment :: (ComonadStore s w, Functor f) => f (s -> s) -> w a -> f a
- Control.Comonad.Store: get :: ComonadStore s w => w a -> s
- Control.Comonad.Store: gets :: ComonadStore s w => (s -> t) -> w a -> t
- Control.Comonad.Store: modify :: ComonadStore s w => (s -> s) -> w a -> a
- Control.Comonad.Store: put :: ComonadStore s w => s -> w a -> a
- Control.Comonad.Store: runStore :: Store s a -> (s -> a, s)
- Control.Comonad.Store: runStoreT :: StoreT s w a -> (w (s -> a), s)
- Control.Comonad.Store: store :: (s -> a) -> s -> Store s a
- Control.Comonad.Store: type Store s = StoreT s Identity
+ Control.Comonad.Env.Lazy: EnvT :: e -> w a -> EnvT e a
+ Control.Comonad.Env.Lazy: ask :: ComonadEnv e w => w a -> e
+ Control.Comonad.Env.Lazy: asks :: ComonadEnv e w => (e -> e') -> w a -> e'
+ Control.Comonad.Env.Lazy: class Comonad w => ComonadEnv e w | w -> e
+ Control.Comonad.Env.Lazy: data EnvT e w :: (* -> *) a :: * -> (* -> *) -> * -> *
+ Control.Comonad.Env.Lazy: env :: e -> a -> Env e a
+ Control.Comonad.Env.Lazy: local :: (e -> e) -> EnvT e w a -> EnvT e w a
+ Control.Comonad.Env.Lazy: runEnv :: Env e a -> (e, a)
+ Control.Comonad.Env.Lazy: runEnvT :: EnvT e w a -> (e, w a)
+ Control.Comonad.Env.Lazy: type Env e = EnvT e Identity
+ Control.Comonad.Env.Strict: EnvT :: e -> w a -> EnvT e a
+ Control.Comonad.Env.Strict: ask :: ComonadEnv e w => w a -> e
+ Control.Comonad.Env.Strict: asks :: ComonadEnv e w => (e -> e') -> w a -> e'
+ Control.Comonad.Env.Strict: class Comonad w => ComonadEnv e w | w -> e
+ Control.Comonad.Env.Strict: data EnvT e w :: (* -> *) a :: * -> (* -> *) -> * -> *
+ Control.Comonad.Env.Strict: env :: e -> a -> Env e a
+ Control.Comonad.Env.Strict: local :: (e -> e) -> EnvT e w a -> EnvT e w a
+ Control.Comonad.Env.Strict: runEnv :: Env e a -> (e, a)
+ Control.Comonad.Env.Strict: runEnvT :: EnvT e w a -> (e, w a)
+ Control.Comonad.Env.Strict: type Env e = EnvT e Identity
+ Control.Comonad.Store.Lazy: StoreT :: w (s -> a) -> s -> StoreT s a
+ Control.Comonad.Store.Lazy: class Comonad w => ComonadStore s w | w -> s
+ Control.Comonad.Store.Lazy: data StoreT s w :: (* -> *) a :: * -> (* -> *) -> * -> *
+ Control.Comonad.Store.Lazy: experiment :: (ComonadStore s w, Functor f) => f (s -> s) -> w a -> f a
+ Control.Comonad.Store.Lazy: get :: ComonadStore s w => w a -> s
+ Control.Comonad.Store.Lazy: gets :: ComonadStore s w => (s -> t) -> w a -> t
+ Control.Comonad.Store.Lazy: modify :: ComonadStore s w => (s -> s) -> w a -> a
+ Control.Comonad.Store.Lazy: put :: ComonadStore s w => s -> w a -> a
+ Control.Comonad.Store.Lazy: runStore :: Store s a -> (s -> a, s)
+ Control.Comonad.Store.Lazy: runStoreT :: StoreT s w a -> (w (s -> a), s)
+ Control.Comonad.Store.Lazy: store :: (s -> a) -> s -> Store s a
+ Control.Comonad.Store.Lazy: type Store s = StoreT s Identity
+ Control.Comonad.Store.Strict: StoreT :: w (s -> a) -> s -> StoreT s a
+ Control.Comonad.Store.Strict: class Comonad w => ComonadStore s w | w -> s
+ Control.Comonad.Store.Strict: data StoreT s w :: (* -> *) a :: * -> (* -> *) -> * -> *
+ Control.Comonad.Store.Strict: experiment :: (ComonadStore s w, Functor f) => f (s -> s) -> w a -> f a
+ Control.Comonad.Store.Strict: get :: ComonadStore s w => w a -> s
+ Control.Comonad.Store.Strict: gets :: ComonadStore s w => (s -> t) -> w a -> t
+ Control.Comonad.Store.Strict: modify :: ComonadStore s w => (s -> s) -> w a -> a
+ Control.Comonad.Store.Strict: put :: ComonadStore s w => s -> w a -> a
+ Control.Comonad.Store.Strict: runStore :: Store s a -> (s -> a, s)
+ Control.Comonad.Store.Strict: runStoreT :: StoreT s w a -> (w (s -> a), s)
+ Control.Comonad.Store.Strict: store :: (s -> a) -> s -> Store s a
+ Control.Comonad.Store.Strict: type Store s = StoreT s Identity
Files
- Control/Comonad/Env.hs +2/−24
- Control/Comonad/Env/Lazy.hs +38/−0
- Control/Comonad/Env/Strict.hs +38/−0
- Control/Comonad/Identity.hs +19/−0
- Control/Comonad/Store.hs +2/−18
- Control/Comonad/Store/Lazy.hs +31/−0
- Control/Comonad/Store/Strict.hs +31/−0
- comonads-fd.cabal +8/−3
Control/Comonad/Env.hs view
@@ -7,31 +7,9 @@ -- Maintainer : Edward Kmett <ekmett@gmail.com> -- Stability : experimental -- Portability : non-portable (fundeps, MPTCs)------ The Env comonad (aka the Coreader, Environment, or Product comonad)--- --- A co-Kleisli arrow in the Env comonad is isomorphic to a Kleisli arrow--- in the reader monad.------ (a -> e -> m) ~ (a, e) -> m ~ Env e a -> m ---------------------------------------------------------------------------- module Control.Comonad.Env ( - -- * ComonadEnv class- ComonadEnv(..)- , asks- -- * The Env comonad- , Env- , env- , runEnv- -- * The EnvT comonad transformer- , EnvT(..)- , runEnvT- -- * Re-exported modules- , module Control.Comonad- , module Control.Comonad.Trans.Class+ module Control.Comonad.Env.Lazy ) where -import Control.Comonad-import Control.Comonad.Env.Class (ComonadEnv(..), asks)-import Control.Comonad.Trans.Class-import Control.Comonad.Trans.Env (Env, env, runEnv, EnvT(..), runEnvT)+import Control.Comonad.Env.Lazy
+ Control/Comonad/Env/Lazy.hs view
@@ -0,0 +1,38 @@+-----------------------------------------------------------------------------+-- |+-- Module : Control.Comonad.Env.Lazy+-- Copyright : (C) 2008-2011 Edward Kmett+-- License : BSD-style (see the file LICENSE)+--+-- Maintainer : Edward Kmett <ekmett@gmail.com>+-- Stability : experimental+-- Portability : non-portable (fundeps, MPTCs)+--+-- The Env comonad (aka the Coreader, Environment, or Product comonad)+-- +-- A co-Kleisli arrow in the Env comonad is isomorphic to a Kleisli arrow+-- in the reader monad.+--+-- (a -> e -> m) ~ (a, e) -> m ~ Env e a -> m+----------------------------------------------------------------------------+module Control.Comonad.Env.Lazy ( + -- * ComonadEnv class+ ComonadEnv(..)+ , asks+ , local+ -- * The Env comonad+ , Env+ , env+ , runEnv+ -- * The EnvT comonad transformer+ , EnvT(..)+ , runEnvT+ -- * Re-exported modules+ , module Control.Comonad+ , module Control.Comonad.Trans.Class+ ) where++import Control.Comonad+import Control.Comonad.Env.Class (ComonadEnv(..), asks)+import Control.Comonad.Trans.Class+import Control.Comonad.Trans.Env.Lazy (Env, env, runEnv, EnvT(..), runEnvT, local)
+ Control/Comonad/Env/Strict.hs view
@@ -0,0 +1,38 @@+-----------------------------------------------------------------------------+-- |+-- Module : Control.Comonad.Env.Strict+-- Copyright : (C) 2008-2011 Edward Kmett+-- License : BSD-style (see the file LICENSE)+--+-- Maintainer : Edward Kmett <ekmett@gmail.com>+-- Stability : experimental+-- Portability : non-portable (fundeps, MPTCs)+--+-- The Env comonad (aka the Coreader, Environment, or Product comonad)+-- +-- A co-Kleisli arrow in the Env comonad is isomorphic to a Kleisli arrow+-- in the reader monad.+--+-- (a -> e -> m) ~ (a, e) -> m ~ Env e a -> m+----------------------------------------------------------------------------+module Control.Comonad.Env.Strict ( + -- * ComonadEnv class+ ComonadEnv(..)+ , asks+ , local+ -- * The Env comonad+ , Env+ , env+ , runEnv+ -- * The EnvT comonad transformer+ , EnvT(..)+ , runEnvT+ -- * Re-exported modules+ , module Control.Comonad+ , module Control.Comonad.Trans.Class+ ) where++import Control.Comonad+import Control.Comonad.Env.Class (ComonadEnv(..), asks)+import Control.Comonad.Trans.Class+import Control.Comonad.Trans.Env.Strict (Env, env, runEnv, EnvT(..), runEnvT, local)
+ Control/Comonad/Identity.hs view
@@ -0,0 +1,19 @@+-----------------------------------------------------------------------------+-- |+-- Module : Control.Comonad.Identity+-- Copyright : (C) 2008-2011 Edward Kmett+-- License : BSD-style (see the file LICENSE)+--+-- Maintainer : Edward Kmett <ekmett@gmail.com>+-- Stability : experimental+-- Portability : non-portable (fundeps, MPTCs)+----------------------------------------------------------------------------+module Control.Comonad.Identity ( + module Control.Comonad+ , module Data.Functor.Identity+ , module Control.Comonad.Trans.Identity+ ) where++import Control.Comonad+import Data.Functor.Identity+import Control.Comonad.Trans.Identity
Control/Comonad/Store.hs view
@@ -9,23 +9,7 @@ -- Portability : non-portable (fundeps, MPTCs) ---------------------------------------------------------------------------- module Control.Comonad.Store ( - -- * ComonadStore class- ComonadStore(..)- , gets- , experiment- -- * The Store comonad- , Store- , store- , runStore- -- * The StoreT comonad transformer- , StoreT(..)- , runStoreT- -- * Re-exported modules- , module Control.Comonad- , module Control.Comonad.Trans.Class+ module Control.Comonad.Store.Lazy ) where -import Control.Comonad-import Control.Comonad.Store.Class (ComonadStore(..), gets, experiment)-import Control.Comonad.Trans.Class-import Control.Comonad.Trans.Store (Store, store, runStore, StoreT(..), runStoreT)+import Control.Comonad.Store.Lazy
+ Control/Comonad/Store/Lazy.hs view
@@ -0,0 +1,31 @@+-----------------------------------------------------------------------------+-- |+-- Module : Control.Comonad.Store.Lazy+-- Copyright : (C) 2008-2011 Edward Kmett+-- License : BSD-style (see the file LICENSE)+--+-- Maintainer : Edward Kmett <ekmett@gmail.com>+-- Stability : experimental+-- Portability : non-portable (fundeps, MPTCs)+----------------------------------------------------------------------------+module Control.Comonad.Store.Lazy ( + -- * ComonadStore class+ ComonadStore(..)+ , gets+ , experiment+ -- * The Store comonad+ , Store+ , store+ , runStore+ -- * The StoreT comonad transformer+ , StoreT(..)+ , runStoreT+ -- * Re-exported modules+ , module Control.Comonad+ , module Control.Comonad.Trans.Class+ ) where++import Control.Comonad+import Control.Comonad.Store.Class (ComonadStore(..), gets, experiment)+import Control.Comonad.Trans.Class+import Control.Comonad.Trans.Store.Lazy (Store, store, runStore, StoreT(..), runStoreT)
+ Control/Comonad/Store/Strict.hs view
@@ -0,0 +1,31 @@+-----------------------------------------------------------------------------+-- |+-- Module : Control.Comonad.Store.Strict+-- Copyright : (C) 2008-2011 Edward Kmett+-- License : BSD-style (see the file LICENSE)+--+-- Maintainer : Edward Kmett <ekmett@gmail.com>+-- Stability : experimental+-- Portability : non-portable (fundeps, MPTCs)+----------------------------------------------------------------------------+module Control.Comonad.Store.Strict ( + -- * ComonadStore class+ ComonadStore(..)+ , gets+ , experiment+ -- * The Store comonad+ , Store+ , store+ , runStore+ -- * The StoreT comonad transformer+ , StoreT(..)+ , runStoreT+ -- * Re-exported modules+ , module Control.Comonad+ , module Control.Comonad.Trans.Class+ ) where++import Control.Comonad+import Control.Comonad.Store.Class (ComonadStore(..), gets, experiment)+import Control.Comonad.Trans.Class+import Control.Comonad.Trans.Store.Strict (Store, store, runStore, StoreT(..), runStoreT)
comonads-fd.cabal view
@@ -1,6 +1,6 @@ name: comonads-fd category: Control, Comonads-version: 0.1.1+version: 0.4 license: BSD3 cabal-version: >= 1.2 license-file: LICENSE@@ -17,14 +17,19 @@ build-depends: base >= 4 && < 4.4, transformers >= 0.2.0 && < 0.3,- comonad >= 0.1.1 && < 0.2,- comonad-transformers >= 0.1 && < 0.2+ comonad >= 0.4 && < 0.5,+ comonad-transformers >= 0.4 && < 0.5 exposed-modules: Control.Comonad.Env Control.Comonad.Env.Class+ Control.Comonad.Env.Strict+ Control.Comonad.Env.Lazy+ Control.Comonad.Identity Control.Comonad.Store Control.Comonad.Store.Class+ Control.Comonad.Store.Strict+ Control.Comonad.Store.Lazy Control.Comonad.Traced Control.Comonad.Traced.Class