@@ -85,12 +85,12 @@ match_unify ctxt env topx topy inj holes from =
85 -- answer, merely a valid one, so perhaps we're okay.
85 -- answer, merely a valid one, so perhaps we're okay.
86 -- In other words: it may vanish without warning some day :)
86 -- In other words: it may vanish without warning some day :)
87 un names x tm@(App (P _ f (Bind fn (Pi t) sc)) a)
87 un names x tm@(App (P _ f (Bind fn (Pi t) sc)) a)
88− | (P (DCon _ _) _ _, _) <- unApply x,
88+ | (P (DCon _ _ _) _ _, _) <- unApply x,
89 holeIn env f || f `elem` holes
89 holeIn env f || f `elem` holes
90 = let n' = uniqueName (sMN 0 "mv") (map fst env) in
90 = let n' = uniqueName (sMN 0 "mv") (map fst env) in
91 checkCycle names (f, Bind n' (Lam t) x)
91 checkCycle names (f, Bind n' (Lam t) x)
92 un names tm@(App (P _ f (Bind fn (Pi t) sc)) a) x
92 un names tm@(App (P _ f (Bind fn (Pi t) sc)) a) x
93− | (P (DCon _ _) _ _, _) <- unApply x,
93+ | (P (DCon _ _ _) _ _, _) <- unApply x,
94 holeIn env f || f `elem` holes
94 holeIn env f || f `elem` holes
95 = let n' = uniqueName fn (map fst env) in
95 = let n' = uniqueName fn (map fst env) in
96 checkCycle names (f, Bind n' (Lam t) x)
96 checkCycle names (f, Bind n' (Lam t) x)
@@ -265,11 +265,11 @@ unify ctxt env topx topy inj holes usersupp from =
265-- Error e@(CantUnify False _ _ _ _ _) -> tfail e
265-- Error e@(CantUnify False _ _ _ _ _) -> tfail e
266 Error e -> tfail e
266 Error e -> tfail e
268− headDiff (P (DCon _ _) x _) (P (DCon _ _) y _) = x /= y
268+ headDiff (P (DCon _ _ _) x _) (P (DCon _ _ _) y _) = x /= y
269 headDiff (P (TCon _ _) x _) (P (TCon _ _) y _) = x /= y
269 headDiff (P (TCon _ _) x _) (P (TCon _ _) y _) = x /= y
270 headDiff _ _ = False
270 headDiff _ _ = False
272− injective (P (DCon _ _) _ _) = True
272+ injective (P (DCon _ _ _) _ _) = True
273 injective (P (TCon _ _) _ _) = True
273 injective (P (TCon _ _) _ _) = True
274-- injective (App f (P _ _ _)) = injective f
274-- injective (App f (P _ _ _)) = injective f
275-- injective (App f (Constant _)) = injective f
275-- injective (App f (Constant _)) = injective f
@@ -315,13 +315,13 @@ unify ctxt env topx topy inj holes usersupp from =
315 StateT UInfo
315 StateT UInfo
316 TC [(Name, TT Name)]
316 TC [(Name, TT Name)]
317 un' fn names x y | x == y = return [] -- shortcut
317 un' fn names x y | x == y = return [] -- shortcut
318− un' fn names topx@(P (DCon _ _) x _) topy@(P (DCon _ _) y _)
318+ un' fn names topx@(P (DCon _ _ _) x _) topy@(P (DCon _ _ _) y _)
319 | x /= y = unifyFail topx topy
319 | x /= y = unifyFail topx topy
320 un' fn names topx@(P (TCon _ _) x _) topy@(P (TCon _ _) y _)
320 un' fn names topx@(P (TCon _ _) x _) topy@(P (TCon _ _) y _)
321 | x /= y = unifyFail topx topy
321 | x /= y = unifyFail topx topy
322− un' fn names topx@(P (DCon _ _) x _) topy@(P (TCon _ _) y _)
322+ un' fn names topx@(P (DCon _ _ _) x _) topy@(P (TCon _ _) y _)
323 = unifyFail topx topy
323 = unifyFail topx topy
324− un' fn names topx@(P (TCon _ _) x _) topy@(P (DCon _ _) y _)
324+ un' fn names topx@(P (TCon _ _) x _) topy@(P (DCon _ _ _) y _)
325 = unifyFail topx topy
325 = unifyFail topx topy
326 un' fn names topx@(Constant _) topy@(P (TCon _ _) y _)
326 un' fn names topx@(Constant _) topy@(P (TCon _ _) y _)
327 = unifyFail topx topy
327 = unifyFail topx topy
@@ -461,13 +461,13 @@ unify ctxt env topx topy inj holes usersupp from =
461 | otherwise = unifyTmpFail appx appy
461 | otherwise = unifyTmpFail appx appy
462 where hnormalise [] _ _ t = t
462 where hnormalise [] _ _ t = t
463 hnormalise ns ctxt env t = normalise ctxt env t
463 hnormalise ns ctxt env t = normalise ctxt env t
464− checkHeads (P (DCon _ _) x _) (P (DCon _ _) y _)
464+ checkHeads (P (DCon _ _ _) x _) (P (DCon _ _ _) y _)
465 | x /= y = unifyFail appx appy
465 | x /= y = unifyFail appx appy
466 checkHeads (P (TCon _ _) x _) (P (TCon _ _) y _)
466 checkHeads (P (TCon _ _) x _) (P (TCon _ _) y _)
467 | x /= y = unifyFail appx appy
467 | x /= y = unifyFail appx appy
468− checkHeads (P (DCon _ _) x _) (P (TCon _ _) y _)
468+ checkHeads (P (DCon _ _ _) x _) (P (TCon _ _) y _)
469 = unifyFail appx appy
469 = unifyFail appx appy
470− checkHeads (P (TCon _ _) x _) (P (DCon _ _) y _)
470+ checkHeads (P (TCon _ _) x _) (P (DCon _ _ _) y _)
471 = unifyFail appx appy
471 = unifyFail appx appy
472 checkHeads _ _ = return []
472 checkHeads _ _ = return []
@@ -493,7 +493,7 @@ unify ctxt env topx topy inj holes usersupp from =
493 all (\x -> pat x || metavar x) (f : args)
493 all (\x -> pat x || metavar x) (f : args)
494 && nub args == args
494 && nub args == args
496− rigid (P (DCon _ _) _ _) = True
496+ rigid (P (DCon _ _ _) _ _) = True
497 rigid (P (TCon _ _) _ _) = True
497 rigid (P (TCon _ _) _ _) = True
498 rigid t@(P Ref _ _) = inenv t || globmetavar t
498 rigid t@(P Ref _ _) = inenv t || globmetavar t
499 rigid (Constant _) = True
499 rigid (Constant _) = True
@@ -633,15 +633,15 @@ recoverable t@(App _ _) _
633 | (P _ (UN l) _, _) <- unApply t, l == txt "Lazy'" = False
633 | (P _ (UN l) _, _) <- unApply t, l == txt "Lazy'" = False
634recoverable _ t@(App _ _)
634recoverable _ t@(App _ _)
635 | (P _ (UN l) _, _) <- unApply t, l == txt "Lazy'" = False
635 | (P _ (UN l) _, _) <- unApply t, l == txt "Lazy'" = False
636−recoverable (P (DCon _ _) x _) (P (DCon _ _) y _) = x == y
636+recoverable (P (DCon _ _ _) x _) (P (DCon _ _ _) y _) = x == y
637recoverable (P (TCon _ _) x _) (P (TCon _ _) y _) = x == y
637recoverable (P (TCon _ _) x _) (P (TCon _ _) y _) = x == y
638−recoverable (Constant _) (P (DCon _ _) y _) = False
638+recoverable (Constant _) (P (DCon _ _ _) y _) = False
639recoverable (Constant x) (Constant y) = x == y
639recoverable (Constant x) (Constant y) = x == y
640−recoverable (P (DCon _ _) x _) (Constant _) = False
640+recoverable (P (DCon _ _ _) x _) (Constant _) = False
641recoverable (Constant _) (P (TCon _ _) y _) = False
641recoverable (Constant _) (P (TCon _ _) y _) = False
642recoverable (P (TCon _ _) x _) (Constant _) = False
642recoverable (P (TCon _ _) x _) (Constant _) = False
643−recoverable (P (DCon _ _) x _) (P (TCon _ _) y _) = False
643+recoverable (P (DCon _ _ _) x _) (P (TCon _ _) y _) = False
644−recoverable (P (TCon _ _) x _) (P (DCon _ _) y _) = False
644+recoverable (P (TCon _ _) x _) (P (DCon _ _ _) y _) = False
645recoverable p@(Constant _) (App f a) = recoverable p f
645recoverable p@(Constant _) (App f a) = recoverable p f
646recoverable (App f a) p@(Constant _) = recoverable f p
646recoverable (App f a) p@(Constant _) = recoverable f p
647recoverable p@(P _ n _) (App f a) = recoverable p f
647recoverable p@(P _ n _) (App f a) = recoverable p f
@@ -651,10 +651,10 @@ recoverable (App f a) (App f' a')
651recoverable (App f a) (App f' a')
651recoverable (App f a) (App f' a')
652 = recoverable f f' -- && recoverable a a'
652 = recoverable f f' -- && recoverable a a'
653recoverable f (Bind _ (Pi _) sc)
653recoverable f (Bind _ (Pi _) sc)
654− | (P (DCon _ _) _ _, _) <- unApply f = False
654+ | (P (DCon _ _ _) _ _, _) <- unApply f = False
655 | (P (TCon _ _) _ _, _) <- unApply f = False
655 | (P (TCon _ _) _ _, _) <- unApply f = False
656recoverable (Bind _ (Pi _) sc) f
656recoverable (Bind _ (Pi _) sc) f
657− | (P (DCon _ _) _ _, _) <- unApply f = False
657+ | (P (DCon _ _ _) _ _, _) <- unApply f = False
658 | (P (TCon _ _) _ _, _) <- unApply f = False
658 | (P (TCon _ _) _ _, _) <- unApply f = False
659recoverable (Bind _ (Lam _) sc) f = recoverable sc f
659recoverable (Bind _ (Lam _) sc) f = recoverable sc f
660recoverable f (Bind _ (Lam _) sc) = recoverable f sc
660recoverable f (Bind _ (Lam _) sc) = recoverable f sc