Safe Haskell | Safe |
---|---|
Language | Haskell98 |
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 Source
Polymorphic base without any non-error, synchronous exceptions
fromIO :: IO a -> UIO (Either SomeException a) Source
Catch any non-error, synchronous exceptions in an IO
action
Unsafe entry points
fromIO' :: Exception e => IO a -> UIO (Either e a) Source
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 Source
You promise there are no exceptions thrown by this IO
action