@@ -183,8 +183,9 @@ compilerCatch :: Compiler a -> (String -> Compiler a) -> Compiler a
183compilerCatch (Compiler x) f = Compiler $ \r -> do
183compilerCatch (Compiler x) f = Compiler $ \r -> do
184 res <- x r
184 res <- x r
185 case res of
185 case res of
186+ CompilerDone res' w -> return (CompilerDone res' w)
186− CompilerError e -> unCompiler (f e) r
187+ CompilerError e -> unCompiler (f e) r
187− _ -> return res
188+ CompilerRequire i c -> return (CompilerRequire i (compilerCatch c f))
188{-# INLINE compilerCatch #-}
189{-# INLINE compilerCatch #-}