| Safe Haskell | Safe |
|---|---|
| Language | Haskell98 |
UnexceptionalIO
Contents
Description
When you've caught all the exceptions that can be handled safely, this is what you're left with.
runEitherIO . fromIO ≡ id
Documentation
IO without any non-error, synchronous exceptions
Instances
| Monad UIO # | |
| Functor UIO # | |
| MonadFix UIO # | |
Defined in UnexceptionalIO | |
| Applicative UIO # | |
| Unexceptional UIO # | |
Defined in UnexceptionalIO | |
class Unexceptional m where #
Polymorphic base without any non-error, synchronous exceptions
Minimal complete definition
Instances
| Unexceptional IO # | |
Defined in UnexceptionalIO | |
| Unexceptional UIO # | |
Defined in UnexceptionalIO | |
fromIO :: IO a -> UIO (Either SomeException a) #
Catch any non-error, synchronous exceptions in an IO action
Unsafe entry points
fromIO' :: Exception e => IO a -> UIO (Either e a) #
You promise that e covers all non-error, synchronous exceptions
thrown by this IO action
This function is partial if you lie
unsafeFromIO :: IO a -> UIO a #
You promise there are no exceptions thrown by this IO action