acquire 0.3 → 0.3.1
raw patch · 2 files changed
+8/−8 lines, 2 filesdep ~transformersPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: transformers
API changes (from Hackage documentation)
+ Acquire: instance Control.Monad.IO.Class.MonadIO (Acquire.Use env err)
- Acquire: Acquire :: IO (resource, IO ()) -> Acquire resource
+ Acquire: Acquire :: IO (env, IO ()) -> Acquire env
- Acquire: newtype Acquire resource
+ Acquire: newtype Acquire env
Files
- acquire.cabal +1/−1
- library/Acquire.hs +7/−7
acquire.cabal view
@@ -1,7 +1,7 @@ name: acquire version:- 0.3+ 0.3.1 synopsis: Abstraction over management of resources description:
library/Acquire.hs view
@@ -27,18 +27,18 @@ Implementation of http://www.haskellforall.com/2013/06/the-resource-applicative.html -}-newtype Acquire resource =- Acquire (IO (resource, IO ()))+newtype Acquire env =+ Acquire (IO (env, IO ())) instance Functor Acquire where fmap f (Acquire io) = Acquire $ do- (resource, release) <- io- return (f resource, release)+ (env, release) <- io+ return (f env, release) instance Applicative Acquire where- pure resource =- Acquire (pure (resource, pure ()))+ pure env =+ Acquire (pure (env, pure ())) Acquire io1 <*> Acquire io2 = Acquire $ do (f, release1) <- io1@@ -65,7 +65,7 @@ Resource handler, which has a notion of pure errors. -} newtype Use env err res = Use (ReaderT env (ExceptT err IO) res)- deriving (Functor, Applicative, Alternative, Monad, MonadPlus)+ deriving (Functor, Applicative, Alternative, Monad, MonadPlus, MonadIO) instance Bifunctor (Use env) where first = mapErr