@@ -919,15 +919,15 @@ expandParams dec ps ns infs tm = en tm
919919 PLet n' (en ty) (en v) (en (shadow n n' s))
920920 | otherwise = PLet n (en ty) (en v) (en s)
921921 -- FIXME: Should only do this in a type signature!
922− en (PDPair f (PRef f' n) t r)
922+ en (PDPair f p (PRef f' n) t r)
923923 | n `elem` (map fst ps ++ ns) && t /= Placeholder
924924 = let n' = mkShadow n in
925− PDPair f (PRef f' n') (en t) (en (shadow n n' r))
925+ PDPair f p (PRef f' n') (en t) (en (shadow n n' r))
926926 en (PEq f l r) = PEq f (en l) (en r)
927927 en (PRewrite f l r g) = PRewrite f (en l) (en r) (fmap en g)
928928 en (PTyped l r) = PTyped (en l) (en r)
929929 en (PPair f p l r) = PPair f p (en l) (en r)
930− en (PDPair f l t r) = PDPair f (en l) (en t) (en r)
930+ en (PDPair f p l t r) = PDPair f p (en l) (en t) (en r)
931931 en (PAlternative a as) = PAlternative a (map en as)
932932 en (PHidden t) = PHidden (en t)
933933 en (PUnifyLog t) = PUnifyLog (en t)
@@ -1021,7 +1021,7 @@ expandParamsD rhsonly ist dec ps ns (PClauses fc opts n cs)
10211021 bnames (PRef _ n) = [n]
10221022 bnames (PApp _ _ args) = concatMap bnames (map getTm args)
10231023 bnames (PPair _ _ l r) = bnames l ++ bnames r
1024− bnames (PDPair _ l Placeholder r) = bnames l ++ bnames r
1024+ bnames (PDPair _ _ l Placeholder r) = bnames l ++ bnames r
10251025 bnames _ = []
10261026
10271027expandParamsD rhs ist dec ps ns (PData doc syn fc co pd)
@@ -1086,7 +1086,7 @@ getPriority i tm = 1 -- pri tm
10861086 pri (PCase _ f as) = max 1 (max (pri f) (foldr max 0 (map (pri.snd) as)))
10871087 pri (PTyped l r) = pri l
10881088 pri (PPair _ _ l r) = max 1 (max (pri l) (pri r))
1089− pri (PDPair _ l t r) = max 1 (max (pri l) (max (pri t) (pri r)))
1089+ pri (PDPair _ _ l t r) = max 1 (max (pri l) (max (pri t) (pri r)))
10901090 pri (PAlternative a as) = maximum (map pri as)
10911091 pri (PConstant _) = 0
10921092 pri Placeholder = 1
@@ -1264,11 +1264,11 @@ implicitise syn ignore ist tm = -- trace ("INCOMING " ++ showImp True tm) $
12641264 = do (decls, ns) <- get
12651265 let isn = namesIn uvars ist l ++ namesIn uvars ist r
12661266 put (decls, nub (ns ++ (isn `dropAll` (env ++ map fst (getImps decls)))))
1267− imps top env (PDPair _ (PRef _ n) t r)
1267+ imps top env (PDPair _ _ (PRef _ n) t r)
12681268 = do (decls, ns) <- get
12691269 let isn = nub (namesIn uvars ist t ++ namesIn uvars ist r) \\ [n]
12701270 put (decls, nub (ns ++ (isn \\ (env ++ map fst (getImps decls)))))
1271− imps top env (PDPair _ l t r)
1271+ imps top env (PDPair _ _ l t r)
12721272 = do (decls, ns) <- get
12731273 let isn = namesIn uvars ist l ++ namesIn uvars ist t ++
12741274 namesIn uvars ist r
@@ -1334,11 +1334,11 @@ addImpl' inpat env infns ist ptm
13341334 = let l' = ai env ds l
13351335 r' = ai env ds r in
13361336 PPair fc p l' r'
1337− ai env ds (PDPair fc l t r)
1337+ ai env ds (PDPair fc p l t r)
13381338 = let l' = ai env ds l
13391339 t' = ai env ds t
13401340 r' = ai env ds r in
1341− PDPair fc l' t' r'
1341+ PDPair fc p l' t' r'
13421342 ai env ds (PAlternative a as)
13431343 = let as' = map (ai env ds) as in
13441344 PAlternative a as'
@@ -1534,7 +1534,7 @@ stripUnmatchable i (PApp fc fn args) = PApp fc fn (fmap (fmap su) args) where
15341534 if null alts' then Placeholder
15351535 else PAlternative b alts'
15361536 su (PPair fc p l r) = PPair fc p (su l) (su r)
1537− su (PDPair fc l t r) = PDPair fc (su l) (su t) (su r)
1537+ su (PDPair fc p l t r) = PDPair fc p (su l) (su t) (su r)
15381538 su t = t
15391539stripUnmatchable i tm = tm
15401540
@@ -1645,10 +1645,10 @@ matchClause' names i x y = checkRpts $ match (fullApp x) (fullApp y) where
16451645 match (PPair _ _ l r) (PPair _ _ l' r') = do ml <- match' l l'
16461646 mr <- match' r r'
16471647 return (ml ++ mr)
1648− match (PDPair _ l t r) (PDPair _ l' t' r') = do ml <- match' l l'
1649− mt <- match' t t'
1650− mr <- match' r r'
1651− return (ml ++ mt ++ mr)
1648+ match (PDPair _ _ l t r) (PDPair _ _ l' t' r') = do ml <- match' l l'
1649+ mt <- match' t t'
1650+ mr <- match' r r'
1651+ return (ml ++ mt ++ mr)
16521652 match (PAlternative a as) (PAlternative a' as')
16531653 = do ms <- zipWithM match' as as'
16541654 return (concat ms)
@@ -1726,7 +1726,7 @@ substMatchShadow n shs tm t = sm shs t where
17261726 (fmap (sm xs) tm)
17271727 sm xs (PTyped x y) = PTyped (sm xs x) (sm xs y)
17281728 sm xs (PPair f p x y) = PPair f p (sm xs x) (sm xs y)
1729− sm xs (PDPair f x t y) = PDPair f (sm xs x) (sm xs t) (sm xs y)
1729+ sm xs (PDPair f p x t y) = PDPair f p (sm xs x) (sm xs t) (sm xs y)
17301730 sm xs (PAlternative a as) = PAlternative a (map (sm xs) as)
17311731 sm xs (PHidden x) = PHidden (sm xs x)
17321732 sm xs (PUnifyLog x) = PUnifyLog (sm xs x)
@@ -1749,7 +1749,7 @@ shadow n n' t = sm t where
17491749 sm (PRewrite f x y tm) = PRewrite f (sm x) (sm y) (fmap sm tm)
17501750 sm (PTyped x y) = PTyped (sm x) (sm y)
17511751 sm (PPair f p x y) = PPair f p (sm x) (sm y)
1752− sm (PDPair f x t y) = PDPair f (sm x) (sm t) (sm y)
1752+ sm (PDPair f p x t y) = PDPair f p (sm x) (sm t) (sm y)
17531753 sm (PAlternative a as) = PAlternative a (map sm as)
17541754 sm (PTactics ts) = PTactics (map (fmap sm) ts)
17551755 sm (PProof ts) = PProof (map (fmap sm) ts)
@@ -1822,7 +1822,7 @@ mkUniqueNames env tm = evalState (mkUniq tm) env where
18221822 mkUniq (PPair fc p l r)
18231823 = do l' <- mkUniq l; r' <- mkUniq r
18241824 return $! PPair fc p l' r'
1825− mkUniq (PDPair fc (PRef fc' n) t sc)
1825+ mkUniq (PDPair fc p (PRef fc' n) t sc)
18261826 | t /= Placeholder
18271827 = do env <- get
18281828 (n', sc') <- if n `elem` env
@@ -1832,10 +1832,10 @@ mkUniqueNames env tm = evalState (mkUniq tm) env where
18321832 put (n' : env)
18331833 t' <- mkUniq t
18341834 sc'' <- mkUniq sc'
1835− return $! PDPair fc (PRef fc' n') t' sc''
1836− mkUniq (PDPair fc l t r)
1835+ return $! PDPair fc p (PRef fc' n') t' sc''
1836+ mkUniq (PDPair fc p l t r)
18371837 = do l' <- mkUniq l; t' <- mkUniq t; r' <- mkUniq r
1838− return $! PDPair fc l' t' r'
1838+ return $! PDPair fc p l' t' r'
18391839 mkUniq (PAlternative b as)
18401840 = liftM (PAlternative b) (mapM mkUniq as)
18411841 mkUniq (PHidden t) = liftM PHidden (mkUniq t)