comonad-transformers 0.5.0 → 0.6.0
raw patch · 7 files changed
+24/−6 lines, 7 filesdep +functor-applydep ~comonad
Dependencies added: functor-apply
Dependency ranges changed: comonad
Files
- Control/Comonad/Trans/Discont/Lazy.hs +6/−2
- Control/Comonad/Trans/Discont/Strict.hs +7/−2
- Control/Comonad/Trans/Env/Lazy.hs +2/−0
- Control/Comonad/Trans/Env/Strict.hs +2/−0
- Control/Comonad/Trans/Stream.hs +2/−0
- Control/Comonad/Trans/Traced.hs +2/−0
- comonad-transformers.cabal +3/−2
Control/Comonad/Trans/Discont/Lazy.hs view
@@ -27,6 +27,7 @@ , runDiscontT -- * Combinators , callCV+ , label ) where import Data.Functor.Identity@@ -46,15 +47,18 @@ runDiscontT :: DiscontT s w a -> (w s -> a, w s) runDiscontT ~(DiscontT f s) = (f, s) -instance Functor w => Functor (DiscontT s w) where+instance Functor (DiscontT s w) where fmap g ~(DiscontT f ws) = DiscontT (g . f) ws -instance Comonad w => Comonad (DiscontT s w) where+instance Comonad (DiscontT s w) where extract ~(DiscontT f ws) = f ws duplicate ~(DiscontT f ws) = DiscontT (DiscontT f) ws instance ComonadTrans (DiscontT s) where lower ~(DiscontT f s) = extend f s++label :: Comonad w => DiscontT s w a -> s +label ~(DiscontT _ ws) = extract ws callCV :: DiscontT s w (DiscontT s w (DiscontT s w a -> a) -> b) -> b callCV ~(DiscontT k s) = k s (DiscontT (\s' ~(DiscontT k' _) -> k' s') s)
Control/Comonad/Trans/Discont/Strict.hs view
@@ -27,6 +27,7 @@ , runDiscontT -- * Combinators , callCV+ , label ) where import Data.Functor.Identity@@ -46,15 +47,19 @@ runDiscontT :: DiscontT s w a -> (w s -> a, w s) runDiscontT (DiscontT f s) = (f, s) -instance Functor w => Functor (DiscontT s w) where+instance Functor (DiscontT s w) where fmap g (DiscontT f ws) = DiscontT (g . f) ws -instance Comonad w => Comonad (DiscontT s w) where+instance Comonad (DiscontT s w) where extract (DiscontT f ws) = f ws duplicate (DiscontT f ws) = DiscontT (DiscontT f) ws+ extend g (DiscontT f ws) = DiscontT (g . DiscontT f) ws instance ComonadTrans (DiscontT s) where lower (DiscontT f s) = extend f s callCV :: DiscontT s w (DiscontT s w (DiscontT s w a -> a) -> b) -> b callCV (DiscontT k s) = k s (DiscontT (\s' (DiscontT k' _) -> k' s') s)++label :: Comonad w => DiscontT s w a -> s+label (DiscontT _ ws) = extract ws
Control/Comonad/Trans/Env/Lazy.hs view
@@ -31,6 +31,8 @@ import Control.Comonad import Control.Comonad.Trans.Class import Control.Comonad.Hoist.Class+import Control.Comonad.Apply+import Data.Functor.Apply import Data.Functor.Identity import Data.Monoid
Control/Comonad/Trans/Env/Strict.hs view
@@ -29,8 +29,10 @@ ) where import Control.Comonad+import Control.Comonad.Apply import Control.Comonad.Trans.Class import Control.Comonad.Hoist.Class+import Data.Functor.Apply import Data.Functor.Identity import Data.Monoid
Control/Comonad/Trans/Stream.hs view
@@ -30,8 +30,10 @@ import Control.Applicative import Control.Comonad+import Control.Comonad.Apply import Control.Comonad.Hoist.Class import Control.Comonad.Trans.Class+import Data.Functor.Apply import Data.Functor.Identity import Data.Foldable import Data.Monoid
Control/Comonad/Trans/Traced.hs view
@@ -27,9 +27,11 @@ ) where import Control.Comonad+import Control.Comonad.Apply import Control.Comonad.Hoist.Class import Control.Comonad.Trans.Class import Data.Functor+import Data.Functor.Apply import Data.Functor.Identity import Data.Monoid
comonad-transformers.cabal view
@@ -1,6 +1,6 @@ name: comonad-transformers category: Control, Comonads-version: 0.5.0+version: 0.6.0 license: BSD3 cabal-version: >= 1.2 license-file: LICENSE@@ -18,7 +18,8 @@ build-depends: base >= 4 && < 4.4, array >= 0.3.0.1 && < 0.4,- comonad >= 0.5 && < 0.6,+ comonad >= 0.6 && < 0.7,+ functor-apply >= 0.6 && < 0.7, transformers >= 0.2.0 && <= 0.3 exposed-modules: