monad-control 0.3 → 0.3.0.1
raw patch · 3 files changed
+48/−9 lines, 3 filesdep ~basePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base
API changes (from Hackage documentation)
Files
- Control/Monad/Trans/Control.hs +27/−8
- NEWS +20/−0
- monad-control.cabal +1/−1
Control/Monad/Trans/Control.hs view
@@ -6,6 +6,7 @@ , FunctionalDependencies , FlexibleInstances , UndecidableInstances+ , MultiParamTypeClasses #-} {- |@@ -48,15 +49,19 @@ -- from base: import Data.Function ( ($), const ) import Data.Monoid ( Monoid, mempty )-import Control.Monad ( Monad, (>>=), return, liftM, void )+import Control.Monad ( Monad, (>>=), return, liftM )+import System.IO ( IO )+import Data.Maybe ( Maybe )+import Data.Either ( Either ) -import System.IO ( IO )-import GHC.Conc.Sync ( STM )-import Data.Maybe ( Maybe )-import Data.Either ( Either )+#if MIN_VERSION_base(4,3,0)+import GHC.Conc.Sync ( STM )+#endif +#if MIN_VERSION_base(4,4,0) import Control.Monad.ST.Lazy ( ST ) import qualified Control.Monad.ST.Strict as Strict ( ST )+#endif -- from base-unicode-symbols: import Data.Function.Unicode ( (∘) )@@ -82,6 +87,13 @@ -- from transformers-base: import Control.Monad.Base ( MonadBase ) +#if MIN_VERSION_base(4,3,0)+import Control.Monad ( void )+#else+import Data.Functor (Functor, fmap)+void ∷ Functor f ⇒ f α → f ()+void = fmap (const ())+#endif -------------------------------------------------------------------------------- -- MonadTransControl type class@@ -267,14 +279,21 @@ {-# INLINE restoreM #-}} BASE(IO, StIO)-BASE(Strict.ST s, StSTS)-BASE( ST s, StST)-BASE(STM, StSTM) BASE(Maybe, St) BASE(Either e, StE) BASE([], StL) BASE((→) r, StF) BASE(Identity, StI)++#if MIN_VERSION_base(4,3,0)+BASE(STM, StSTM)+#endif++#if MIN_VERSION_base(4,4,0)+BASE(Strict.ST s, StSTS)+BASE( ST s, StST)+#endif+ #undef BASE
NEWS view
@@ -1,3 +1,23 @@+0.3++(Released on: Fri Dec 2 09:52:16 UTC 2011)++* Major new API which IMHO is easier to understand than the old one.++* On average about 60 times faster than the previous release!++* New package lifted-base providing lifted versions of functions from the base+ library. It exports the following modules:++ - Control.Exception.Lifted+ - Control.Concurrent.Lifted+ - Control.Concurrent.MVar.Lifted+ - System.Timeout.Lifted++ Not all modules from base are converted yet. If you need a lifted version of+ some function from base, just ask me to add it or send me a patch.++ 0.2.0.3 (Released on: Sat Aug 27 21:18:22 UTC 2011)
monad-control.cabal view
@@ -1,5 +1,5 @@ Name: monad-control-Version: 0.3+Version: 0.3.0.1 Synopsis: Lift control operations, like exception catching, through monad transformers License: BSD3 License-file: LICENSE