comonads-fd 2.1.1.2 → 2.1.2
raw patch · 2 files changed
+13/−2 lines, 2 filesdep ~comonad-transformersPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: comonad-transformers
API changes (from Hackage documentation)
+ Control.Comonad.Store: experiment :: (ComonadStore s w, Functor f) => (s -> f s) -> w a -> f a
+ Control.Comonad.Store.Class: experiment :: (ComonadStore s w, Functor f) => (s -> f s) -> w a -> f a
- Control.Comonad.Store: class Comonad w => ComonadStore s w | w -> s where peeks f w = peek (f (pos w)) w seek s = peek s . duplicate seeks f = peeks f . duplicate
+ Control.Comonad.Store: class Comonad w => ComonadStore s w | w -> s where peeks f w = peek (f (pos w)) w seek s = peek s . duplicate seeks f = peeks f . duplicate experiment f w = fmap (`peek` w) (f (pos w))
- Control.Comonad.Store.Class: class Comonad w => ComonadStore s w | w -> s where peeks f w = peek (f (pos w)) w seek s = peek s . duplicate seeks f = peeks f . duplicate
+ Control.Comonad.Store.Class: class Comonad w => ComonadStore s w | w -> s where peeks f w = peek (f (pos w)) w seek s = peek s . duplicate seeks f = peeks f . duplicate experiment f w = fmap (`peek` w) (f (pos w))
Files
- Control/Comonad/Store/Class.hs +11/−0
- comonads-fd.cabal +2/−2
Control/Comonad/Store/Class.hs view
@@ -36,12 +36,16 @@ seeks :: (s -> s) -> w a -> w a seeks f = peeks f . duplicate + experiment :: Functor f => (s -> f s) -> w a -> f a+ experiment f w = fmap (`peek` w) (f (pos w))+ instance Comonad w => ComonadStore s (Store.StoreT s w) where pos = Store.pos peek = Store.peek peeks = Store.peeks seek = Store.seek seeks = Store.seeks+ experiment = Store.experiment lowerPos :: (ComonadTrans t, ComonadStore s w) => t w a -> s lowerPos = pos . lower@@ -51,14 +55,21 @@ lowerPeek s = peek s . lower {-# INLINE lowerPeek #-} +lowerExperiment :: (ComonadTrans t, ComonadStore s w, Functor f) => (s -> f s) -> t w a -> f a+lowerExperiment f = experiment f . lower+{-# INLINE lowerExperiment #-}+ instance ComonadStore s w => ComonadStore s (IdentityT w) where pos = lowerPos peek = lowerPeek+ experiment = lowerExperiment instance ComonadStore s w => ComonadStore s (EnvT e w) where pos = lowerPos peek = lowerPeek+ experiment = lowerExperiment instance (ComonadStore s w, Semigroup m, Monoid m) => ComonadStore s (TracedT m w) where pos = lowerPos peek = lowerPeek+ experiment = lowerExperiment
comonads-fd.cabal view
@@ -1,6 +1,6 @@ name: comonads-fd category: Control, Comonads-version: 2.1.1.2+version: 2.1.2 license: BSD3 cabal-version: >= 1.6 license-file: LICENSE@@ -31,7 +31,7 @@ mtl >= 2.0 && < 2.2, semigroups >= 0.8.3.1 && < 0.9, comonad >= 1.1.1.5 && < 1.2,- comonad-transformers >= 2.1.1.1 && < 2.2+ comonad-transformers >= 2.1.2 && < 2.2 exposed-modules: Control.Comonad.Env