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,