managed 1.0.0 → 1.0.1
raw patch · 3 files changed
+9/−3 lines, 3 files
Files
managed.cabal view
@@ -1,5 +1,5 @@ Name: managed-Version: 1.0.0+Version: 1.0.1 Cabal-Version: >=1.8.0.2 Build-Type: Simple License: BSD3
src/Control/Monad/Managed.hs view
@@ -62,7 +62,7 @@ `Foreign.Marshal.Utils.withMany` function from "Foreign.Marshal.Utils" becomes a trivial wrapper around `mapM`: -> withMany :: (a -> (b -> IO r) -> IOr ) -> [a] -> ([b] -> IO r) -> IO r+> withMany :: (a -> (b -> IO r) -> IO r) -> [a] -> ([b] -> IO r) -> IO r > withMany f = with . mapM (Managed . f) Another reason to use `Managed` is that if you wrap a `Monoid` value in@@ -79,6 +79,7 @@ -- * Managed Managed, managed,+ managed_, with, runManaged, @@ -164,6 +165,10 @@ -- | Build a `Managed` value managed :: (forall r . (a -> IO r) -> IO r) -> Managed a managed = Managed++-- | Like 'managed' but for resource-less operations.+managed_ :: (forall r. IO r -> IO r) -> Managed ()+managed_ f = managed $ \g -> f $ g () -- | Acquire a `Managed` value with :: Managed a -> (a -> IO r) -> IO r
src/Control/Monad/Managed/Safe.hs view
@@ -18,6 +18,7 @@ -- * Managed Managed, managed,+ managed_, runManaged, -- * Re-exports@@ -26,7 +27,7 @@ ) where import Control.Monad.IO.Class (MonadIO(liftIO))-import Control.Monad.Managed (Managed, managed, runManaged)+import Control.Monad.Managed (Managed, managed, managed_, runManaged) {- $reexports "Control.Monad.IO.Class" re-exports 'MonadIO'