on master help sign in
Don't crash on error, keep going
commit174e696561c5beb63346c907df2ed0ccafd209a6 authorEdwin Brady <eb@cs.st-andrews.ac.uk> dateFri 7 Oct 2011, 17:12 (15 years ago) parent06a81c9
2 files changed+5−1
miniidris.cabal+1−1 src/Idris/AbsSyntax.hs+4
miniidris.cabal+1−1
@@ -25,7 +25,7 @@ Executable miniidris
2525 Idris.REPLParser, Idris.ElabDecls
2626
2727 Build-depends: base>=4 && <5, parsec, mtl, Cabal, readline,
28− containers, process
28+ containers, process, transformers
2929
3030 Extensions: MultiParamTypeClasses, FunctionalDependencies,
3131 FlexibleInstances
src/Idris/AbsSyntax.hs+4
@@ -7,6 +7,7 @@ import Core.TT
77import Core.Evaluate
88
99import Control.Monad.State
10+import Control.Monad.Trans.State.Lazy(liftCatch)
1011import Data.List
1112import Data.Char
1213
@@ -60,6 +61,9 @@ iLOG str = do i <- get
6061 $ do lift (putStrLn str)
6162 put (i { idris_log = idris_log i ++ str ++ "\n" } )
6263
64+idrisCatch :: Idris a -> (IOError -> Idris a) -> Idris a
65+idrisCatch op handler = liftCatch catch op handler
66+
6367-- Commands in the REPL
6468
6569data Command = Quit | Help | Eval PTerm