@@ -578,7 +578,7 @@ inferDecl = PDatadecl inferTy
578 PPi expl (MN 0 "a") (PRef bi (MN 0 "A"))
578 PPi expl (MN 0 "a") (PRef bi (MN 0 "A"))
579 (PRef bi inferTy)), bi)]
579 (PRef bi inferTy)), bi)]
581−infTerm t = PApp bi (PRef bi inferCon) [pimp (MN 0 "A") Placeholder, pexp t]
581+infTerm t = PApp bi (PRef bi inferCon) [pimp (MN 0 "A") Placeholder True, pexp t]
582infP = P (TCon 6 0) inferTy (TType (UVal 0))
582infP = P (TCon 6 0) inferTy (TType (UVal 0))
584getInferTerm, getInferType :: Term -> Term
584getInferTerm, getInferType :: Term -> Term
@@ -621,8 +621,8 @@ eqDecl = PDatadecl eqTy (piBind [(n "a", PType), (n "b", PType),
622 [("", eqCon, PPi impl (n "a") PType (
622 [("", eqCon, PPi impl (n "a") PType (
623 PPi impl (n "x") (PRef bi (n "a"))
623 PPi impl (n "x") (PRef bi (n "a"))
624− (PApp bi (PRef bi eqTy) [pimp (n "a") Placeholder,
624+ (PApp bi (PRef bi eqTy) [pimp (n "a") Placeholder False,
625− pimp (n "b") Placeholder,
625+ pimp (n "b") Placeholder False,
626 pexp (PRef bi (n "x")),
626 pexp (PRef bi (n "x")),
627 pexp (PRef bi (n "x"))])), bi)]
627 pexp (PRef bi (n "x"))])), bi)]
628 where n a = MN 0 a
628 where n a = MN 0 a
@@ -953,7 +953,7 @@ implicitise syn ignore ist tm = -- trace ("INCOMING " ++ showImp True tm) $
953 imps top env (PPi (Imp l _ doc) n ty sc)
953 imps top env (PPi (Imp l _ doc) n ty sc)
954 = do let isn = nub (namesIn uvars ist ty) `dropAll` [n]
954 = do let isn = nub (namesIn uvars ist ty) `dropAll` [n]
955 (decls , ns) <- get
955 (decls , ns) <- get
956− put (PImp (getPriority ist ty) l n ty doc : decls,
956+ put (PImp (getPriority ist ty) True l n ty doc : decls,
957 nub (ns ++ (isn `dropAll` (env ++ map fst (getImps decls)))))
957 nub (ns ++ (isn `dropAll` (env ++ map fst (getImps decls)))))
958 imps True (n:env) sc
958 imps True (n:env) sc
959 imps top env (PPi (Exp l _ doc) n ty sc)
959 imps top env (PPi (Exp l _ doc) n ty sc)
@@ -1152,10 +1152,10 @@ aiFn inpat expat ist fc f as
1152 PConstraint p l tm d : insertImpl ps given
1152 PConstraint p l tm d : insertImpl ps given
1153 insertImpl (PConstraint p l ty d : ps) given =
1153 insertImpl (PConstraint p l ty d : ps) given =
1154 PConstraint p l (PResolveTC fc) d : insertImpl ps given
1154 PConstraint p l (PResolveTC fc) d : insertImpl ps given
1155− insertImpl (PImp p l n ty d : ps) given =
1155+ insertImpl (PImp p _ l n ty d : ps) given =
1156 case find n given [] of
1156 case find n given [] of
1157− Just (tm, given') -> PImp p l n tm "" : insertImpl ps given'
1157+ Just (tm, given') -> PImp p False l n tm "" : insertImpl ps given'
1158− Nothing -> PImp p l n Placeholder "" : insertImpl ps given
1158+ Nothing -> PImp p True l n Placeholder "" : insertImpl ps given
1159 insertImpl (PTacImplicit p l n sc ty d : ps) given =
1159 insertImpl (PTacImplicit p l n sc ty d : ps) given =
1160 case find n given [] of
1160 case find n given [] of
1161 Just (tm, given') -> PTacImplicit p l n sc tm "" : insertImpl ps given'
1161 Just (tm, given') -> PTacImplicit p l n sc tm "" : insertImpl ps given'
@@ -1166,7 +1166,7 @@ aiFn inpat expat ist fc f as
1166 insertImpl _ given = given
1166 insertImpl _ given = given
1168 find n [] acc = Nothing
1168 find n [] acc = Nothing
1169− find n (PImp _ _ n' t _ : gs) acc
1169+ find n (PImp _ _ _ n' t _ : gs) acc
1170 | n == n' = Just (t, reverse acc ++ gs)
1170 | n == n' = Just (t, reverse acc ++ gs)
1171 find n (PTacImplicit _ _ n' _ t _ : gs) acc
1171 find n (PTacImplicit _ _ n' _ t _ : gs) acc
1172 | n == n' = Just (t, reverse acc ++ gs)
1172 | n == n' = Just (t, reverse acc ++ gs)
@@ -1196,8 +1196,8 @@ stripLinear i tm = evalState (sl tm) [] where
1196 sl (PApp fc fn args) = do fn' <- sl fn
1196 sl (PApp fc fn args) = do fn' <- sl fn
1197 args' <- mapM slA args
1197 args' <- mapM slA args
1198 return $ PApp fc fn' args'
1198 return $ PApp fc fn' args'
1199− where slA (PImp p l n t d) = do t' <- sl t
1199+ where slA (PImp p m l n t d) = do t' <- sl t
1200− return $ PImp p l n t' d
1200+ return $ PImp p m l n t' d
1201 slA (PExp p l t d) = do t' <- sl t
1201 slA (PExp p l t d) = do t' <- sl t
1202 return $ PExp p l t' d
1202 return $ PExp p l t' d
1203 slA (PConstraint p l t d)
1203 slA (PConstraint p l t d)