Plan 9 from Bell Labs’s /usr/web/sources/contrib/fernan/nhc98/src/prelude/PreludeIO/Catch.hs
module Prelude(catch) where import NHC.Internal (IO(..)) catch :: IO a -> (IOError -> IO a) -> IO a catch x handle = IO ( \ world -> case x of IO xf -> case xf world of Left err -> case handle err of IO hf -> hf world right -> right )