comonad-extras 0.1.1 → 0.1.2
raw patch · 3 files changed
+19/−3 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Control.Comonad.Store.MemoTrie: instance (ComonadEnv m w, HasTrie s) => ComonadEnv m (StoreT s w)
+ Control.Comonad.Store.MemoTrie: instance (ComonadTraced m w, HasTrie s) => ComonadTraced m (StoreT s w)
+ Control.Comonad.Store.Pointer: instance (ComonadEnv m w, Ix i) => ComonadEnv m (PointerT i w)
+ Control.Comonad.Store.Pointer: instance (ComonadTraced m w, Ix i) => ComonadTraced m (PointerT i w)
Files
- Control/Comonad/Store/MemoTrie.hs +8/−1
- Control/Comonad/Store/Pointer.hs +10/−1
- comonad-extras.cabal +1/−1
Control/Comonad/Store/MemoTrie.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE CPP, TypeOperators, FlexibleInstances, MultiParamTypeClasses #-}+{-# LANGUAGE CPP, TypeOperators, FlexibleInstances, MultiParamTypeClasses, UndecidableInstances #-} ----------------------------------------------------------------------------- -- | -- Module : Control.Comonad.Store.MemoTrie@@ -34,6 +34,8 @@ import Control.Comonad.Hoist.Class import Control.Comonad.Trans.Class import Control.Comonad.Store.Class+import Control.Comonad.Env.Class+import Control.Comonad.Traced.Class import Data.Functor.Identity import Data.MemoTrie @@ -93,3 +95,8 @@ peek s (StoreT g _) = untrie (extract g) s peeks f (StoreT g s) = untrie (extract g) (f s) +instance (ComonadTraced m w, HasTrie s) => ComonadTraced m (StoreT s w) where+ trace m = trace m . lower++instance (ComonadEnv m w, HasTrie s) => ComonadEnv m (StoreT s w) where + ask = ask . lower
Control/Comonad/Store/Pointer.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE CPP, FlexibleInstances, MultiParamTypeClasses, FunctionalDependencies #-}+{-# LANGUAGE CPP, FlexibleInstances, MultiParamTypeClasses, FunctionalDependencies, UndecidableInstances #-} ----------------------------------------------------------------------------- -- | -- Module : Control.Comonad.Store.Pointer@@ -42,6 +42,8 @@ import Control.Comonad.Hoist.Class import Control.Comonad.Trans.Class import Control.Comonad.Store.Class +import Control.Comonad.Traced.Class +import Control.Comonad.Env.Class import Data.Functor.Identity import Data.Array @@ -103,3 +105,10 @@ -- | Extract the bounds of the currently focused array pointerBounds :: (Comonad w, Ix i) => PointerT i w a -> (i,i) pointerBounds (PointerT g _) = bounds (extract g)++instance (ComonadTraced m w, Ix i) => ComonadTraced m (PointerT i w) where+ trace m = trace m . lower++instance (ComonadEnv m w, Ix i) => ComonadEnv m (PointerT i w) where+ ask = ask . lower+
comonad-extras.cabal view
@@ -1,6 +1,6 @@ name: comonad-extras category: Control, Comonads-version: 0.1.1+version: 0.1.2 license: BSD3 cabal-version: >= 1.6 license-file: LICENSE