explicit-exception 0.1.7 → 0.1.7.1
raw patch · 3 files changed
+16/−6 lines, 3 filesdep ~bytestringPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: bytestring
API changes (from Hackage documentation)
Files
- explicit-exception.cabal +4/−4
- src/Control/Monad/Exception/Synchronous.hs +11/−0
- src/System/IO/Straight.hs +1/−2
explicit-exception.cabal view
@@ -1,5 +1,5 @@ Name: explicit-exception-Version: 0.1.7+Version: 0.1.7.1 License: BSD3 License-File: LICENSE Author: Henning Thielemann <haskell@henning-thielemann.de>@@ -46,7 +46,7 @@ Source-Repository this type: darcs location: http://code.haskell.org/explicit-exception/- tag: 0.1.7+ tag: 0.1.7.1 Flag buildTests description: Build test suite@@ -92,7 +92,7 @@ Executable ee-tar If flag(buildTests) Build-Depends:- bytestring >=0.9.0.1 && <0.10,+ bytestring >=0.9.0.1 && <0.11, tar >=0.3 && <0.4 Else Buildable: False@@ -103,7 +103,7 @@ Executable ee-test If flag(buildTests) Build-Depends:- bytestring >=0.9.0.1 && <0.10+ bytestring >=0.9.0.1 && <0.11 Else Buildable: False GHC-Options: -Wall
src/Control/Monad/Exception/Synchronous.hs view
@@ -241,6 +241,14 @@ Exception e -> Exception e Success y -> f y +{- |+I think it is not a good idea to use this instance,+maybe we shoul remove it.+It expects that the constructor is 'Success'+and the result is undefined otherwise.+But if the constructor must always be 'Success',+why using 'Exceptional' then, at all?+-} instance MonadFix (Exceptional e) where mfix f = let unSuccess ~(Success x) = x@@ -445,6 +453,9 @@ Exception e -> return (Exception e) Success x -> runExceptionalT $ f x +{- |+Same restrictions applies as for @instance MonadFix (Exceptional e a)@.+-} instance (MonadFix m) => MonadFix (ExceptionalT e m) where mfix f = ExceptionalT $ mfix $ \ ~(Success r) -> runExceptionalT $ f r
src/System/IO/Straight.hs view
@@ -15,8 +15,7 @@ import Control.Monad.Exception.Synchronous (Exceptional(Success, Exception), ExceptionalT(ExceptionalT), )-import Control.Exception (IOException)-import System.IO.Error (try)+import Control.Exception (IOException, try) import Control.Monad.IO.Class (MonadIO, liftIO, ) import System.IO.Unsafe (unsafeInterleaveIO, )