@@ -37,7 +37,7 @@ type ElabD a = Elab' [PDecl] a
3737-- Also find deferred names in the term and their types
3838
3939build :: IState -> ElabInfo -> Bool -> Name -> PTerm ->
40− ElabD (Term, [(Name, Type)], [PDecl])
40+ ElabD (Term, [(Name, (Int, Type))], [PDecl])
4141build ist info pattern fn tm
4242 = do elab ist info pattern False fn tm
4343 ivs <- get_instances
@@ -75,7 +75,7 @@ build ist info pattern fn tm
7575-- know about yet on the LHS of a pattern def)
7676
7777buildTC :: IState -> ElabInfo -> Bool -> Bool -> Name -> PTerm ->
78− ElabD (Term, [(Name, Type)], [PDecl])
78+ ElabD (Term, [(Name, (Int, Type))], [PDecl])
7979buildTC ist info pattern tcgen fn tm
8080 = do elab ist info pattern tcgen fn tm
8181 probs <- get_probs
@@ -751,10 +751,10 @@ resolveTC depth fn ist
751751 where isImp (PImp p _ _ _ _ _) = (True, p)
752752 isImp arg = (False, priority arg)
753753
754−collectDeferred :: Term -> State [(Name, Type)] Term
755−collectDeferred (Bind n (GHole t) app) =
754+collectDeferred :: Term -> State [(Name, (Int, Type))] Term
755+collectDeferred (Bind n (GHole i t) app) =
756756 do ds <- get
757− when (not (n `elem` map fst ds)) $ put ((n, t) : ds)
757+ when (not (n `elem` map fst ds)) $ put ((n, (i, t)) : ds)
758758 collectDeferred app
759759collectDeferred (Bind n b t) = do b' <- cdb b
760760 t' <- collectDeferred t
@@ -1123,7 +1123,7 @@ reifyTTBinderApp reif f [x, y]
11231123reifyTTBinderApp reif f [t]
11241124 | f == reflm "Hole" = liftM Hole (reif t)
11251125reifyTTBinderApp reif f [t]
1126− | f == reflm "GHole" = liftM GHole (reif t)
1126+ | f == reflm "GHole" = liftM (GHole 0) (reif t)
11271127reifyTTBinderApp reif f [x, y]
11281128 | f == reflm "Guess" = liftM2 Guess (reif x) (reif y)
11291129reifyTTBinderApp reif f [t]
@@ -1237,7 +1237,7 @@ reflectBinder (NLet x y)
12371237 = reflCall "NLet" [Var (reflm "TT"), reflect x, reflect y]
12381238reflectBinder (Hole t)
12391239 = reflCall "Hole" [Var (reflm "TT"), reflect t]
1240−reflectBinder (GHole t)
1240+reflectBinder (GHole _ t)
12411241 = reflCall "GHole" [Var (reflm "TT"), reflect t]
12421242reflectBinder (Guess x y)
12431243 = reflCall "Guess" [Var (reflm "TT"), reflect x, reflect y]