@@ -846,15 +846,15 @@ expandParams dec ps ns infs tm = en tm
846846 PLet n' (en ty) (en v) (en (shadow n n' s))
847847 | otherwise = PLet n (en ty) (en v) (en s)
848848 -- FIXME: Should only do this in a type signature!
849− en (PDPair f (PRef f' n) t r)
849+ en (PDPair f p (PRef f' n) t r)
850850 | n `elem` (map fst ps ++ ns) && t /= Placeholder
851851 = let n' = mkShadow n in
852− PDPair f (PRef f' n') (en t) (en (shadow n n' r))
852+ PDPair f p (PRef f' n') (en t) (en (shadow n n' r))
853853 en (PEq f l r) = PEq f (en l) (en r)
854854 en (PRewrite f l r g) = PRewrite f (en l) (en r) (fmap en g)
855855 en (PTyped l r) = PTyped (en l) (en r)
856856 en (PPair f p l r) = PPair f p (en l) (en r)
857− en (PDPair f l t r) = PDPair f (en l) (en t) (en r)
857+ en (PDPair f p l t r) = PDPair f p (en l) (en t) (en r)
858858 en (PAlternative a as) = PAlternative a (map en as)
859859 en (PHidden t) = PHidden (en t)
860860 en (PUnifyLog t) = PUnifyLog (en t)
@@ -948,7 +948,7 @@ expandParamsD rhsonly ist dec ps ns (PClauses fc opts n cs)
948948 bnames (PRef _ n) = [n]
949949 bnames (PApp _ _ args) = concatMap bnames (map getTm args)
950950 bnames (PPair _ _ l r) = bnames l ++ bnames r
951− bnames (PDPair _ l Placeholder r) = bnames l ++ bnames r
951+ bnames (PDPair _ _ l Placeholder r) = bnames l ++ bnames r
952952 bnames _ = []
953953
954954expandParamsD rhs ist dec ps ns (PData doc syn fc co pd)
@@ -1013,7 +1013,7 @@ getPriority i tm = 1 -- pri tm
10131013 pri (PCase _ f as) = max 1 (max (pri f) (foldr max 0 (map (pri.snd) as)))
10141014 pri (PTyped l r) = pri l
10151015 pri (PPair _ _ l r) = max 1 (max (pri l) (pri r))
1016− pri (PDPair _ l t r) = max 1 (max (pri l) (max (pri t) (pri r)))
1016+ pri (PDPair _ _ l t r) = max 1 (max (pri l) (max (pri t) (pri r)))
10171017 pri (PAlternative a as) = maximum (map pri as)
10181018 pri (PConstant _) = 0
10191019 pri Placeholder = 1
@@ -1191,11 +1191,11 @@ implicitise syn ignore ist tm = -- trace ("INCOMING " ++ showImp True tm) $
11911191 = do (decls, ns) <- get
11921192 let isn = namesIn uvars ist l ++ namesIn uvars ist r
11931193 put (decls, nub (ns ++ (isn `dropAll` (env ++ map fst (getImps decls)))))
1194− imps top env (PDPair _ (PRef _ n) t r)
1194+ imps top env (PDPair _ _ (PRef _ n) t r)
11951195 = do (decls, ns) <- get
11961196 let isn = nub (namesIn uvars ist t ++ namesIn uvars ist r) \\ [n]
11971197 put (decls, nub (ns ++ (isn \\ (env ++ map fst (getImps decls)))))
1198− imps top env (PDPair _ l t r)
1198+ imps top env (PDPair _ _ l t r)
11991199 = do (decls, ns) <- get
12001200 let isn = namesIn uvars ist l ++ namesIn uvars ist t ++
12011201 namesIn uvars ist r
@@ -1261,11 +1261,11 @@ addImpl' inpat env infns ist ptm
12611261 = let l' = ai env ds l
12621262 r' = ai env ds r in
12631263 PPair fc p l' r'
1264− ai env ds (PDPair fc l t r)
1264+ ai env ds (PDPair fc p l t r)
12651265 = let l' = ai env ds l
12661266 t' = ai env ds t
12671267 r' = ai env ds r in
1268− PDPair fc l' t' r'
1268+ PDPair fc p l' t' r'
12691269 ai env ds (PAlternative a as)
12701270 = let as' = map (ai env ds) as in
12711271 PAlternative a as'
@@ -1461,7 +1461,7 @@ stripUnmatchable i (PApp fc fn args) = PApp fc fn (fmap (fmap su) args) where
14611461 if null alts' then Placeholder
14621462 else PAlternative b alts'
14631463 su (PPair fc p l r) = PPair fc p (su l) (su r)
1464− su (PDPair fc l t r) = PDPair fc (su l) (su t) (su r)
1464+ su (PDPair fc p l t r) = PDPair fc p (su l) (su t) (su r)
14651465 su t = t
14661466stripUnmatchable i tm = tm
14671467
@@ -1572,10 +1572,10 @@ matchClause' names i x y = checkRpts $ match (fullApp x) (fullApp y) where
15721572 match (PPair _ _ l r) (PPair _ _ l' r') = do ml <- match' l l'
15731573 mr <- match' r r'
15741574 return (ml ++ mr)
1575− match (PDPair _ l t r) (PDPair _ l' t' r') = do ml <- match' l l'
1576− mt <- match' t t'
1577− mr <- match' r r'
1578− return (ml ++ mt ++ mr)
1575+ match (PDPair _ _ l t r) (PDPair _ _ l' t' r') = do ml <- match' l l'
1576+ mt <- match' t t'
1577+ mr <- match' r r'
1578+ return (ml ++ mt ++ mr)
15791579 match (PAlternative a as) (PAlternative a' as')
15801580 = do ms <- zipWithM match' as as'
15811581 return (concat ms)
@@ -1653,7 +1653,7 @@ substMatchShadow n shs tm t = sm shs t where
16531653 (fmap (sm xs) tm)
16541654 sm xs (PTyped x y) = PTyped (sm xs x) (sm xs y)
16551655 sm xs (PPair f p x y) = PPair f p (sm xs x) (sm xs y)
1656− sm xs (PDPair f x t y) = PDPair f (sm xs x) (sm xs t) (sm xs y)
1656+ sm xs (PDPair f p x t y) = PDPair f p (sm xs x) (sm xs t) (sm xs y)
16571657 sm xs (PAlternative a as) = PAlternative a (map (sm xs) as)
16581658 sm xs (PHidden x) = PHidden (sm xs x)
16591659 sm xs (PUnifyLog x) = PUnifyLog (sm xs x)
@@ -1676,7 +1676,7 @@ shadow n n' t = sm t where
16761676 sm (PRewrite f x y tm) = PRewrite f (sm x) (sm y) (fmap sm tm)
16771677 sm (PTyped x y) = PTyped (sm x) (sm y)
16781678 sm (PPair f p x y) = PPair f p (sm x) (sm y)
1679− sm (PDPair f x t y) = PDPair f (sm x) (sm t) (sm y)
1679+ sm (PDPair f p x t y) = PDPair f p (sm x) (sm t) (sm y)
16801680 sm (PAlternative a as) = PAlternative a (map sm as)
16811681 sm (PTactics ts) = PTactics (map (fmap sm) ts)
16821682 sm (PProof ts) = PProof (map (fmap sm) ts)
@@ -1749,7 +1749,7 @@ mkUniqueNames env tm = evalState (mkUniq tm) env where
17491749 mkUniq (PPair fc p l r)
17501750 = do l' <- mkUniq l; r' <- mkUniq r
17511751 return $! PPair fc p l' r'
1752− mkUniq (PDPair fc (PRef fc' n) t sc)
1752+ mkUniq (PDPair fc p (PRef fc' n) t sc)
17531753 | t /= Placeholder
17541754 = do env <- get
17551755 (n', sc') <- if n `elem` env
@@ -1759,10 +1759,10 @@ mkUniqueNames env tm = evalState (mkUniq tm) env where
17591759 put (n' : env)
17601760 t' <- mkUniq t
17611761 sc'' <- mkUniq sc'
1762− return $! PDPair fc (PRef fc' n') t' sc''
1763− mkUniq (PDPair fc l t r)
1762+ return $! PDPair fc p (PRef fc' n') t' sc''
1763+ mkUniq (PDPair fc p l t r)
17641764 = do l' <- mkUniq l; t' <- mkUniq t; r' <- mkUniq r
1765− return $! PDPair fc l' t' r'
1765+ return $! PDPair fc p l' t' r'
17661766 mkUniq (PAlternative b as)
17671767 = liftM (PAlternative b) (mapM mkUniq as)
17681768 mkUniq (PHidden t) = liftM PHidden (mkUniq t)