packages feed

explicit-sharing 0.5.0 → 0.5.1

raw patch · 2 files changed

+6/−6 lines, 2 filesdep ~basePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base

API changes (from Hackage documentation)

Files

Control/Monad/Sharing/Implementation/FirstOrder.hs view
@@ -18,7 +18,7 @@   ) where -import Control.Monad       ( MonadPlus(..) )+import Control.Monad       ( MonadPlus(..), liftM ) -- import Control.Monad.State ( MonadState(..), StateT, evalStateT ) import Control.Monad.Trans ( MonadTrans(..), MonadIO(..) ) @@ -47,7 +47,7 @@  evalS :: Monad m => S m a -> m a -- evalS m = evalStateT m emptyStore-evalS m = CPS.runLazy m+evalS = CPS.runLazy  -- using 'CPS.Lazy' instead of 'StateT Store' is almost twice as fast. @@ -60,7 +60,7 @@   gnf :: (Monad m, Shareable (Lazy m) a) => Lazy m a -> S (Lazy m) a-gnf a = hnf a >>= shareArgs (\b -> gnf b >>= return . return)+gnf a = hnf a >>= shareArgs (liftM return . gnf)  hnf :: Monad m => Lazy m a -> S (Lazy m) a hnf m = run =<< lift (lift (fromLazy m))@@ -107,7 +107,7 @@ -- 'Lazy t' is a monad transformer. instance MonadTrans Lazy  where-  lift a = Lazy (a >>= return . Lifted)+  lift = Lazy . liftM Lifted  -- If the underlying monad supports IO we can lift this functionality. instance MonadIO m => MonadIO (Lazy m)
explicit-sharing.cabal view
@@ -1,5 +1,5 @@ Name:          explicit-sharing-Version:       0.5.0+Version:       0.5.1 Cabal-Version: >= 1.6 Synopsis:      Explicit Sharing of Monadic Effects Description:   @@ -20,7 +20,7 @@ Extra-Source-Files: Test.hs  Library-  Build-Depends:    base, containers ==0.2.0.0, mtl+  Build-Depends:    base >= 3 && < 5, containers ==0.2.0.0, mtl   Exposed-Modules:  Control.Monad.Sharing,                     Control.Monad.Sharing.Classes,                     Control.Monad.Sharing.FirstOrder,