| 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
class Unexceptional m where #
Polymorphic base without any non-error, synchronous exceptions
Minimal complete definition
Instances
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