resourcet 1.1.6 → 1.1.7
raw patch · 6 files changed
+12/−8 lines, 6 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Control.Monad.Trans.Resource: functionName :: InvalidAccess -> String
- Control.Monad.Trans.Resource.Internal: functionName :: InvalidAccess -> String
- Control.Monad.Trans.Resource.Internal: instance [safe] (Error e, MonadResource m) => MonadResource (ErrorT e m)
- Control.Monad.Trans.Resource.Internal: instance [safe] (MonadThrow m, MonadBase IO m, MonadIO m, Applicative m) => MonadResource (ResourceT m)
- Control.Monad.Trans.Resource.Internal: instance [safe] (Monoid w, MonadResource m) => MonadResource (RWST r w s m)
- Control.Monad.Trans.Resource.Internal: instance [safe] (Monoid w, MonadResource m) => MonadResource (WriterT w m)
- Control.Monad.Trans.Resource.Internal: instance [safe] Alternative m => Alternative (ResourceT m)
- Control.Monad.Trans.Resource.Internal: instance [safe] Applicative m => Applicative (ResourceT m)
- Control.Monad.Trans.Resource.Internal: instance [safe] Exception InvalidAccess
- Control.Monad.Trans.Resource.Internal: instance [safe] Functor m => Functor (ResourceT m)
- Control.Monad.Trans.Resource.Internal: instance [safe] MFunctor ResourceT
- Control.Monad.Trans.Resource.Internal: instance [safe] MMonad ResourceT
- Control.Monad.Trans.Resource.Internal: instance [safe] Monad m => Monad (ResourceT m)
- Control.Monad.Trans.Resource.Internal: instance [safe] MonadBase b m => MonadBase b (ResourceT m)
- Control.Monad.Trans.Resource.Internal: instance [safe] MonadBaseControl b m => MonadBaseControl b (ResourceT m)
- Control.Monad.Trans.Resource.Internal: instance [safe] MonadCatch m => MonadCatch (ResourceT m)
- Control.Monad.Trans.Resource.Internal: instance [safe] MonadCont m => MonadCont (ResourceT m)
- Control.Monad.Trans.Resource.Internal: instance [safe] MonadError e m => MonadError e (ResourceT m)
- Control.Monad.Trans.Resource.Internal: instance [safe] MonadIO m => MonadIO (ResourceT m)
- Control.Monad.Trans.Resource.Internal: instance [safe] MonadMask m => MonadMask (ResourceT m)
- Control.Monad.Trans.Resource.Internal: instance [safe] MonadPlus m => MonadPlus (ResourceT m)
- Control.Monad.Trans.Resource.Internal: instance [safe] MonadRWS r w s m => MonadRWS r w s (ResourceT m)
- Control.Monad.Trans.Resource.Internal: instance [safe] MonadReader r m => MonadReader r (ResourceT m)
- Control.Monad.Trans.Resource.Internal: instance [safe] MonadResource m => MonadResource (ContT r m)
- Control.Monad.Trans.Resource.Internal: instance [safe] MonadResource m => MonadResource (ExceptT e m)
- Control.Monad.Trans.Resource.Internal: instance [safe] MonadResource m => MonadResource (IdentityT m)
- Control.Monad.Trans.Resource.Internal: instance [safe] MonadResource m => MonadResource (ListT m)
- Control.Monad.Trans.Resource.Internal: instance [safe] MonadResource m => MonadResource (MaybeT m)
- Control.Monad.Trans.Resource.Internal: instance [safe] MonadResource m => MonadResource (ReaderT r m)
- Control.Monad.Trans.Resource.Internal: instance [safe] MonadResource m => MonadResource (StateT s m)
- Control.Monad.Trans.Resource.Internal: instance [safe] MonadState s m => MonadState s (ResourceT m)
- Control.Monad.Trans.Resource.Internal: instance [safe] MonadThrow m => MonadThrow (ResourceT m)
- Control.Monad.Trans.Resource.Internal: instance [safe] MonadTrans ResourceT
- Control.Monad.Trans.Resource.Internal: instance [safe] MonadTransControl ResourceT
- Control.Monad.Trans.Resource.Internal: instance [safe] MonadWriter w m => MonadWriter w (ResourceT m)
- Control.Monad.Trans.Resource.Internal: instance [safe] Show InvalidAccess
- Control.Monad.Trans.Resource.Internal: instance [safe] Typeable InvalidAccess
- Control.Monad.Trans.Resource.Internal: instance [safe] Typeable ReleaseKey
- Control.Monad.Trans.Resource.Internal: instance [safe] Typeable ResourceT
- Control.Monad.Trans.Resource.Internal: unResourceT :: ResourceT m a -> IORef ReleaseMap -> m a
- Data.Acquire.Internal: instance Applicative Acquire
- Data.Acquire.Internal: instance Bounded ReleaseType
- Data.Acquire.Internal: instance Enum ReleaseType
- Data.Acquire.Internal: instance Eq ReleaseType
- Data.Acquire.Internal: instance Functor Acquire
- Data.Acquire.Internal: instance Monad Acquire
- Data.Acquire.Internal: instance MonadBase IO Acquire
- Data.Acquire.Internal: instance MonadIO Acquire
- Data.Acquire.Internal: instance Ord ReleaseType
- Data.Acquire.Internal: instance Read ReleaseType
- Data.Acquire.Internal: instance Show ReleaseType
- Data.Acquire.Internal: instance Typeable Acquire
- Data.Acquire.Internal: instance Typeable ReleaseType
+ Control.Monad.Trans.Resource: [functionName] :: InvalidAccess -> String
+ Control.Monad.Trans.Resource.Internal: [functionName] :: InvalidAccess -> String
+ Control.Monad.Trans.Resource.Internal: [unResourceT] :: ResourceT m a -> IORef ReleaseMap -> m a
+ Control.Monad.Trans.Resource.Internal: instance (Control.Monad.Catch.MonadThrow m, Control.Monad.Base.MonadBase GHC.Types.IO m, Control.Monad.IO.Class.MonadIO m, GHC.Base.Applicative m) => Control.Monad.Trans.Resource.Internal.MonadResource (Control.Monad.Trans.Resource.Internal.ResourceT m)
+ Control.Monad.Trans.Resource.Internal: instance (Control.Monad.Trans.Error.Error e, Control.Monad.Trans.Resource.Internal.MonadResource m) => Control.Monad.Trans.Resource.Internal.MonadResource (Control.Monad.Trans.Error.ErrorT e m)
+ Control.Monad.Trans.Resource.Internal: instance (GHC.Base.Monoid w, Control.Monad.Trans.Resource.Internal.MonadResource m) => Control.Monad.Trans.Resource.Internal.MonadResource (Control.Monad.Trans.RWS.Lazy.RWST r w s m)
+ Control.Monad.Trans.Resource.Internal: instance (GHC.Base.Monoid w, Control.Monad.Trans.Resource.Internal.MonadResource m) => Control.Monad.Trans.Resource.Internal.MonadResource (Control.Monad.Trans.RWS.Strict.RWST r w s m)
+ Control.Monad.Trans.Resource.Internal: instance (GHC.Base.Monoid w, Control.Monad.Trans.Resource.Internal.MonadResource m) => Control.Monad.Trans.Resource.Internal.MonadResource (Control.Monad.Trans.Writer.Lazy.WriterT w m)
+ Control.Monad.Trans.Resource.Internal: instance (GHC.Base.Monoid w, Control.Monad.Trans.Resource.Internal.MonadResource m) => Control.Monad.Trans.Resource.Internal.MonadResource (Control.Monad.Trans.Writer.Strict.WriterT w m)
+ Control.Monad.Trans.Resource.Internal: instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Control.Monad.Trans.Resource.Internal.ResourceT m)
+ Control.Monad.Trans.Resource.Internal: instance Control.Monad.Catch.MonadCatch m => Control.Monad.Catch.MonadCatch (Control.Monad.Trans.Resource.Internal.ResourceT m)
+ Control.Monad.Trans.Resource.Internal: instance Control.Monad.Catch.MonadMask m => Control.Monad.Catch.MonadMask (Control.Monad.Trans.Resource.Internal.ResourceT m)
+ Control.Monad.Trans.Resource.Internal: instance Control.Monad.Catch.MonadThrow m => Control.Monad.Catch.MonadThrow (Control.Monad.Trans.Resource.Internal.ResourceT m)
+ Control.Monad.Trans.Resource.Internal: instance Control.Monad.Cont.Class.MonadCont m => Control.Monad.Cont.Class.MonadCont (Control.Monad.Trans.Resource.Internal.ResourceT m)
+ Control.Monad.Trans.Resource.Internal: instance Control.Monad.Error.Class.MonadError e m => Control.Monad.Error.Class.MonadError e (Control.Monad.Trans.Resource.Internal.ResourceT m)
+ Control.Monad.Trans.Resource.Internal: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Control.Monad.Trans.Resource.Internal.ResourceT m)
+ Control.Monad.Trans.Resource.Internal: instance Control.Monad.Morph.MFunctor Control.Monad.Trans.Resource.Internal.ResourceT
+ Control.Monad.Trans.Resource.Internal: instance Control.Monad.Morph.MMonad Control.Monad.Trans.Resource.Internal.ResourceT
+ Control.Monad.Trans.Resource.Internal: instance Control.Monad.RWS.Class.MonadRWS r w s m => Control.Monad.RWS.Class.MonadRWS r w s (Control.Monad.Trans.Resource.Internal.ResourceT m)
+ Control.Monad.Trans.Resource.Internal: instance Control.Monad.Reader.Class.MonadReader r m => Control.Monad.Reader.Class.MonadReader r (Control.Monad.Trans.Resource.Internal.ResourceT m)
+ Control.Monad.Trans.Resource.Internal: instance Control.Monad.State.Class.MonadState s m => Control.Monad.State.Class.MonadState s (Control.Monad.Trans.Resource.Internal.ResourceT m)
+ Control.Monad.Trans.Resource.Internal: instance Control.Monad.Trans.Class.MonadTrans Control.Monad.Trans.Resource.Internal.ResourceT
+ Control.Monad.Trans.Resource.Internal: instance Control.Monad.Trans.Control.MonadBaseControl b m => Control.Monad.Trans.Control.MonadBaseControl b (Control.Monad.Trans.Resource.Internal.ResourceT m)
+ Control.Monad.Trans.Resource.Internal: instance Control.Monad.Trans.Control.MonadTransControl Control.Monad.Trans.Resource.Internal.ResourceT
+ Control.Monad.Trans.Resource.Internal: instance Control.Monad.Trans.Resource.Internal.MonadResource m => Control.Monad.Trans.Resource.Internal.MonadResource (Control.Monad.Trans.Cont.ContT r m)
+ Control.Monad.Trans.Resource.Internal: instance Control.Monad.Trans.Resource.Internal.MonadResource m => Control.Monad.Trans.Resource.Internal.MonadResource (Control.Monad.Trans.Except.ExceptT e m)
+ Control.Monad.Trans.Resource.Internal: instance Control.Monad.Trans.Resource.Internal.MonadResource m => Control.Monad.Trans.Resource.Internal.MonadResource (Control.Monad.Trans.Identity.IdentityT m)
+ Control.Monad.Trans.Resource.Internal: instance Control.Monad.Trans.Resource.Internal.MonadResource m => Control.Monad.Trans.Resource.Internal.MonadResource (Control.Monad.Trans.List.ListT m)
+ Control.Monad.Trans.Resource.Internal: instance Control.Monad.Trans.Resource.Internal.MonadResource m => Control.Monad.Trans.Resource.Internal.MonadResource (Control.Monad.Trans.Maybe.MaybeT m)
+ Control.Monad.Trans.Resource.Internal: instance Control.Monad.Trans.Resource.Internal.MonadResource m => Control.Monad.Trans.Resource.Internal.MonadResource (Control.Monad.Trans.Reader.ReaderT r m)
+ Control.Monad.Trans.Resource.Internal: instance Control.Monad.Trans.Resource.Internal.MonadResource m => Control.Monad.Trans.Resource.Internal.MonadResource (Control.Monad.Trans.State.Lazy.StateT s m)
+ Control.Monad.Trans.Resource.Internal: instance Control.Monad.Trans.Resource.Internal.MonadResource m => Control.Monad.Trans.Resource.Internal.MonadResource (Control.Monad.Trans.State.Strict.StateT s m)
+ Control.Monad.Trans.Resource.Internal: instance Control.Monad.Writer.Class.MonadWriter w m => Control.Monad.Writer.Class.MonadWriter w (Control.Monad.Trans.Resource.Internal.ResourceT m)
+ Control.Monad.Trans.Resource.Internal: instance GHC.Base.Alternative m => GHC.Base.Alternative (Control.Monad.Trans.Resource.Internal.ResourceT m)
+ Control.Monad.Trans.Resource.Internal: instance GHC.Base.Applicative m => GHC.Base.Applicative (Control.Monad.Trans.Resource.Internal.ResourceT m)
+ Control.Monad.Trans.Resource.Internal: instance GHC.Base.Functor m => GHC.Base.Functor (Control.Monad.Trans.Resource.Internal.ResourceT m)
+ Control.Monad.Trans.Resource.Internal: instance GHC.Base.Monad m => GHC.Base.Monad (Control.Monad.Trans.Resource.Internal.ResourceT m)
+ Control.Monad.Trans.Resource.Internal: instance GHC.Base.MonadPlus m => GHC.Base.MonadPlus (Control.Monad.Trans.Resource.Internal.ResourceT m)
+ Control.Monad.Trans.Resource.Internal: instance GHC.Exception.Exception Control.Monad.Trans.Resource.Internal.InvalidAccess
+ Control.Monad.Trans.Resource.Internal: instance GHC.Show.Show Control.Monad.Trans.Resource.Internal.InvalidAccess
+ Data.Acquire.Internal: instance Control.Monad.Base.MonadBase GHC.Types.IO Data.Acquire.Internal.Acquire
+ Data.Acquire.Internal: instance Control.Monad.IO.Class.MonadIO Data.Acquire.Internal.Acquire
+ Data.Acquire.Internal: instance GHC.Base.Applicative Data.Acquire.Internal.Acquire
+ Data.Acquire.Internal: instance GHC.Base.Functor Data.Acquire.Internal.Acquire
+ Data.Acquire.Internal: instance GHC.Base.Monad Data.Acquire.Internal.Acquire
+ Data.Acquire.Internal: instance GHC.Classes.Eq Data.Acquire.Internal.ReleaseType
+ Data.Acquire.Internal: instance GHC.Classes.Ord Data.Acquire.Internal.ReleaseType
+ Data.Acquire.Internal: instance GHC.Enum.Bounded Data.Acquire.Internal.ReleaseType
+ Data.Acquire.Internal: instance GHC.Enum.Enum Data.Acquire.Internal.ReleaseType
+ Data.Acquire.Internal: instance GHC.Read.Read Data.Acquire.Internal.ReleaseType
+ Data.Acquire.Internal: instance GHC.Show.Show Data.Acquire.Internal.ReleaseType
Files
- ChangeLog.md +4/−0
- Control/Monad/Trans/Resource.hs +0/−2
- Control/Monad/Trans/Resource/Internal.hs +5/−1
- Data/Acquire.hs +0/−2
- Data/Acquire/Internal.hs +2/−2
- resourcet.cabal +1/−1
ChangeLog.md view
@@ -1,3 +1,7 @@+## 1.1.7++* Canonicalise Monad instances [#237](https://github.com/snoyberg/conduit/pull/237)+ ## 1.1.6 * Safe/Trustworthy for resourcet [#220](https://github.com/snoyberg/conduit/pull/220)
Control/Monad/Trans/Resource.hs view
@@ -10,9 +10,7 @@ #if __GLASGOW_HASKELL__ >= 704 {-# LANGUAGE ConstraintKinds #-} #endif-#if __GLASGOW_HASKELL__ >= 707 {-# LANGUAGE Safe #-}-#endif -- | Allocate resources which are guaranteed to be released. -- -- For more information, see <https://www.fpcomplete.com/user/snoyberg/library-documentation/resourcet>.
Control/Monad/Trans/Resource/Internal.hs view
@@ -7,10 +7,12 @@ {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} {-# LANGUAGE RankNTypes #-}--- Can only turn on SafeHaskell when using a newer GHC, otherwise we get build+-- Can only mark as Safe when using a newer GHC, otherwise we get build -- failures due to the manual Typeable instance below. #if __GLASGOW_HASKELL__ >= 707 {-# LANGUAGE Safe #-}+#else+{-# LANGUAGE Trustworthy #-} #endif module Control.Monad.Trans.Resource.Internal(@@ -237,7 +239,9 @@ (ResourceT mf) `mplus` (ResourceT ma) = ResourceT $ \r -> mf r `mplus` ma r instance Monad m => Monad (ResourceT m) where+#if !MIN_VERSION_base(4,8,0) return = ResourceT . const . return+#endif ResourceT ma >>= f = ResourceT $ \r -> do a <- ma r let ResourceT f' = f a
Data/Acquire.hs view
@@ -1,7 +1,5 @@ {-# LANGUAGE CPP #-}-#if __GLASGOW_HASKELL__ >= 707 {-# LANGUAGE Safe #-}-#endif -- | This was previously known as the Resource monad. However, that term is -- confusing next to the ResourceT transformer, so it has been renamed. module Data.Acquire
Data/Acquire/Internal.hs view
@@ -53,11 +53,11 @@ instance Functor Acquire where fmap = liftM instance Applicative Acquire where- pure = return+ pure a = Acquire (\_ -> return (Allocated a (const $ return ()))) (<*>) = ap instance Monad Acquire where- return a = Acquire (\_ -> return (Allocated a (const $ return ())))+ return = pure Acquire f >>= g' = Acquire $ \restore -> do Allocated x free1 <- f restore let Acquire g = g' x
resourcet.cabal view
@@ -1,5 +1,5 @@ Name: resourcet-Version: 1.1.6+Version: 1.1.7 Synopsis: Deterministic allocation and freeing of scarce resources. description: Hackage documentation generation is not reliable. For up to date documentation, please see: <http://www.stackage.org/package/resourcet>. License: BSD3