representable-functors 2.2 → 2.2.1
raw patch · 3 files changed
+15/−9 lines, 3 filesdep ~transformers
Dependency ranges changed: transformers
Files
- Control/Monad/Representable/Reader.hs +3/−0
- Control/Monad/Representable/State.hs +9/−6
- representable-functors.cabal +3/−3
Control/Monad/Representable/Reader.hs view
@@ -78,10 +78,13 @@ return = ReaderT . pure . return ReaderT fm >>= f = ReaderT $ tabulate (\a -> index fm a >>= flip index a . getReaderT . f) + instance (Representable f, Monad m, Key f ~ e) => MonadReader e (ReaderT f m) where ask = ReaderT (tabulate return) local f m = readerT $ \r -> runReaderT m (f r)+#if MIN_VERSION_transformers(0,3,0) reader = readerT . fmap return+#endif instance Representable f => MonadTrans (ReaderT f) where lift = ReaderT . pure
Control/Monad/Representable/State.hs view
@@ -1,9 +1,10 @@-{-# LANGUAGE TypeFamilies- , TypeSynonymInstances- , FlexibleContexts- , FlexibleInstances- , MultiParamTypeClasses- , UndecidableInstances #-}+{-# LANGUAGE CPP #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeSynonymInstances #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE UndecidableInstances #-} ---------------------------------------------------------------------- -- | -- Module : Control.Monad.Representable.State@@ -159,7 +160,9 @@ instance (Representable g, Monad m, Key g ~ s) => MonadState s (StateT g m) where get = stateT $ \s -> return (s, s) put s = StateT $ pure $ return ((),s)+#if MIN_VERSION_transformers(0,3,0) state f = stateT (return . f)+#endif -- get :: (Representable g, Monad m) => StateT g m (Key g) -- put :: (Applicative g, Monad m) => Key g -> StateT g m ()
representable-functors.cabal view
@@ -1,6 +1,6 @@ name: representable-functors category: Monads, Functors, Data Structures-version: 2.2+version: 2.2.1 license: BSD3 cabal-version: >= 1.6 license-file: LICENSE@@ -29,7 +29,7 @@ TypeSynonymInstances UndecidableInstances - build-depends: + build-depends: array >= 0.3.0.2 && < 0.5, base >= 4 && < 5, comonad >= 1.1.1.3 && < 1.2,@@ -39,7 +39,7 @@ mtl >= 2.0.1.0 && < 2.2, semigroups >= 0.8.2 && < 0.9, semigroupoids >= 1.3 && < 1.4,- transformers >= 0.3 && < 0.4,+ transformers >= 0.2 && < 0.4, keys >= 2.1.3 && < 2.2, free >= 2.1 && < 2.2, comonad-transformers >= 2.1 && < 2.2,