@@ -558,6 +558,7 @@ data PTerm = PQuote Raw
558 | PImpossible -- ^ Special case for declaring when an LHS can't typecheck
558 | PImpossible -- ^ Special case for declaring when an LHS can't typecheck
559 | PCoerced PTerm -- ^ To mark a coerced argument, so as not to coerce twice
559 | PCoerced PTerm -- ^ To mark a coerced argument, so as not to coerce twice
560 | PUnifyLog PTerm -- ^ dump a trace of unifications when building term
560 | PUnifyLog PTerm -- ^ dump a trace of unifications when building term
561+ | PNoImplicits PTerm -- ^ never run implicit converions on the term
561 deriving Eq
562 deriving Eq
563deriving instance Binary PTerm
564deriving instance Binary PTerm
@@ -582,6 +583,7 @@ mapPT f t = f (mpt t) where
582 mpt (PProof ts) = PProof (map (fmap (mapPT f)) ts)
583 mpt (PProof ts) = PProof (map (fmap (mapPT f)) ts)
583 mpt (PTactics ts) = PTactics (map (fmap (mapPT f)) ts)
584 mpt (PTactics ts) = PTactics (map (fmap (mapPT f)) ts)
584 mpt (PUnifyLog tm) = PUnifyLog (mapPT f tm)
585 mpt (PUnifyLog tm) = PUnifyLog (mapPT f tm)
586+ mpt (PNoImplicits tm) = PNoImplicits (mapPT f tm)
585 mpt (PGoal fc r n sc) = PGoal fc (mapPT f r) n (mapPT f sc)
587 mpt (PGoal fc r n sc) = PGoal fc (mapPT f r) n (mapPT f sc)
586 mpt x = x
588 mpt x = x
@@ -682,9 +684,9 @@ instance Sized a => Sized (PArg' a) where
682deriving instance Binary PArg'
684deriving instance Binary PArg'
685−pimp n t = PImp 0 True n t ""
687+pimp n t = PImp 1 True n t ""
686−pexp t = PExp 0 False t ""
688+pexp t = PExp 1 False t ""
687−pconst t = PConstraint 0 False t ""
689+pconst t = PConstraint 1 False t ""
688ptacimp n s t = PTacImplicit 0 True n s t ""
690ptacimp n s t = PTacImplicit 0 True n s t ""
690type PArg = PArg' PTerm
692type PArg = PArg' PTerm
@@ -1178,6 +1180,7 @@ showImp ist impl colour tm = se 10 [] tm where
1178 se p bnd (PElabError s) = show s
1180 se p bnd (PElabError s) = show s
1179 se p bnd (PCoerced t) = se p bnd t
1181 se p bnd (PCoerced t) = se p bnd t
1180 se p bnd (PUnifyLog t) = "%unifyLog " ++ se p bnd t
1182 se p bnd (PUnifyLog t) = "%unifyLog " ++ se p bnd t
1183+ se p bnd (PNoImplicits t) = "%noimplicit " ++ se p bnd t
1181-- se p bnd x = "Not implemented"
1184-- se p bnd x = "Not implemented"
1183 slist' p bnd (PApp _ (PRef _ nil) _)
1186 slist' p bnd (PApp _ (PRef _ nil) _)
@@ -1245,6 +1248,7 @@ instance Sized PTerm where
1245 size (PAlternative a alts) = 1 + size alts
1248 size (PAlternative a alts) = 1 + size alts
1246 size (PHidden hidden) = size hidden
1249 size (PHidden hidden) = size hidden
1247 size (PUnifyLog tm) = size tm
1250 size (PUnifyLog tm) = size tm
1251+ size (PNoImplicits tm) = size tm
1248 size PType = 1
1252 size PType = 1
1249 size (PConstant const) = 1 + size const
1253 size (PConstant const) = 1 + size const
1250 size Placeholder = 1
1254 size Placeholder = 1
@@ -1280,6 +1284,7 @@ allNamesIn tm = nub $ ni [] tm
1280 ni env (PDPair _ l t r) = ni env l ++ ni env t ++ ni env r
1284 ni env (PDPair _ l t r) = ni env l ++ ni env t ++ ni env r
1281 ni env (PAlternative a ls) = concatMap (ni env) ls
1285 ni env (PAlternative a ls) = concatMap (ni env) ls
1282 ni env (PUnifyLog tm) = ni env tm
1286 ni env (PUnifyLog tm) = ni env tm
1287+ ni env (PNoImplicits tm) = ni env tm
1283 ni env _ = []
1288 ni env _ = []
1285-- Return names which are free in the given term.
1290-- Return names which are free in the given term.
@@ -1305,6 +1310,7 @@ namesIn uvars ist tm = nub $ ni [] tm
1305 ni env (PAlternative a as) = concatMap (ni env) as
1310 ni env (PAlternative a as) = concatMap (ni env) as
1306 ni env (PHidden tm) = ni env tm
1311 ni env (PHidden tm) = ni env tm
1307 ni env (PUnifyLog tm) = ni env tm
1312 ni env (PUnifyLog tm) = ni env tm
1313+ ni env (PNoImplicits tm) = ni env tm
1308 ni env _ = []
1314 ni env _ = []
1310-- Return which of the given names are used in the given term.
1316-- Return which of the given names are used in the given term.
@@ -1330,4 +1336,6 @@ usedNamesIn vars ist tm = nub $ ni [] tm
1330 ni env (PAlternative a as) = concatMap (ni env) as
1336 ni env (PAlternative a as) = concatMap (ni env) as
1331 ni env (PHidden tm) = ni env tm
1337 ni env (PHidden tm) = ni env tm
1332 ni env (PUnifyLog tm) = ni env tm
1338 ni env (PUnifyLog tm) = ni env tm
1339+ ni env (PNoImplicits tm) = ni env tm
1333 ni env _ = []
1340 ni env _ = []