@@ -7,6 +7,7 @@ import Core.TT
7import Core.Evaluate
7import Core.Evaluate
9import Control.Monad.State
9import Control.Monad.State
10+import Control.Monad.Trans.State.Lazy(liftCatch)
10import Data.List
11import Data.List
11import Data.Char
12import Data.Char
@@ -60,6 +61,9 @@ iLOG str = do i <- get
60 $ do lift (putStrLn str)
61 $ do lift (putStrLn str)
61 put (i { idris_log = idris_log i ++ str ++ "\n" } )
62 put (i { idris_log = idris_log i ++ str ++ "\n" } )
64+idrisCatch :: Idris a -> (IOError -> Idris a) -> Idris a
65+idrisCatch op handler = liftCatch catch op handler
63-- Commands in the REPL
67-- Commands in the REPL
65data Command = Quit | Help | Eval PTerm
69data Command = Quit | Help | Eval PTerm