@@ -3,6 +3,7 @@
33module Idris.ElabDecls where
44
55import Idris.AbsSyntax
6+import Idris.Error
67
78import Core.TT
89import Core.Elaborate
@@ -63,6 +64,7 @@ elabVal tm
6364 (tm', _) <- tclift $ elaborate ctxt (MN 0 "val") infP
6465 (build False (infTerm tm))
6566 let vtm = getInferTerm tm'
67+ iLOG (show vtm)
6668 tclift $ recheck ctxt [] vtm
6769
6870elabClause :: PClause -> Idris (Term, Term)
@@ -94,7 +96,7 @@ elabClause (PClause _ lhs rhs)
9496 psolve tm = return ()
9597
9698elabDecl :: PDecl -> Idris ()
97−elabDecl d = idrisCatch (elabDecl' d) (\e -> iputStrLn (show e))
99+elabDecl d = idrisCatch (elabDecl' d) (\e -> iputStrLn (report e))
98100
99101elabDecl' (PFix _ _) = return () -- nothing to elaborate
100102elabDecl' (PTy n ty) = do iLOG $ "Elaborating type decl " ++ show n
@@ -149,11 +151,11 @@ elab pattern tm = do elab' tm
149151 elab' sc
150152 solve
151153 elab' (PApp (PRef f) imps args)
152− = try (do ns <- apply (Var f) (map isph imps ++ map (\x -> False) args)
154+ = try (do apply_elab f (map toElab imps ++ map (Just . elab') args)
155+ solve)
156+ (do ns <- apply (Var f) (map isph imps ++ map (\x -> False) args)
153157 solve
154158 elabArgs ns (map snd imps ++ args))
155− (do apply_elab f (map toElab imps ++ map (Just . elab') args)
156− solve)
157159 elab' (PApp f [] [arg])
158160 = do simple_app (elab' f) (elab' arg)
159161 solve