explicit-sharing 0.5.1.1 → 0.5.1.2
raw patch · 3 files changed
+7/−3 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- Control/Monad/Sharing/FirstOrder.hs +3/−2
- Control/Monad/Sharing/Implementation/CPS.hs +3/−0
- explicit-sharing.cabal +1/−1
Control/Monad/Sharing/FirstOrder.hs view
@@ -7,8 +7,9 @@ -- -- This library provides an interface to monads that support explicit -- sharing based on two-level types. This implementation is not as--- efficient as the default implementation but it avoids duplicate--- sharing which can lead to exponential blowup of the threaded heap.+-- efficient as the default implementation but supports a restricted+-- form of sharing across non-determinism if a first-order data type+-- is used as underlying monad. module Control.Monad.Sharing.FirstOrder ( module Control.Monad,
Control/Monad/Sharing/Implementation/CPS.hs view
@@ -36,6 +36,8 @@ import qualified Data.IntMap as M +-- import Debug.Trace ( trace )+ -- | -- Continuation-based, store-passing implementation of explicit -- sharing. It is an inlined version of @ContT (ReaderT Store m)@@@ -58,6 +60,7 @@ runLazy :: Monad m => Lazy m a -> m a runLazy m = fromLazy m (\a _ -> return a) emptyStore+ -- fromLazy m (\a s -> trace (show (nextLabel s)) (return a)) emptyStore -- Stores consist of a fresh-reference counter and a heap represented -- as IntMap.
explicit-sharing.cabal view
@@ -1,5 +1,5 @@ Name: explicit-sharing-Version: 0.5.1.1+Version: 0.5.1.2 Cabal-Version: >= 1.6 Synopsis: Explicit Sharing of Monadic Effects Description: