@@ -1041,7 +1041,8 @@ mapPTermFC f g (PDoBlock dos) = PDoBlock (map mapPDoFC dos)
1041 mapPDoFC (DoBindP fc t1 t2 alts) =
1041 mapPDoFC (DoBindP fc t1 t2 alts) =
1042 DoBindP (f fc) (mapPTermFC f g t1) (mapPTermFC f g t2) (map (\(l,r)-> (mapPTermFC f g l, mapPTermFC f g r)) alts)
1042 DoBindP (f fc) (mapPTermFC f g t1) (mapPTermFC f g t2) (map (\(l,r)-> (mapPTermFC f g l, mapPTermFC f g r)) alts)
1043 mapPDoFC (DoLet fc rc n nfc t1 t2) = DoLet (f fc) rc n (g nfc) (mapPTermFC f g t1) (mapPTermFC f g t2)
1043 mapPDoFC (DoLet fc rc n nfc t1 t2) = DoLet (f fc) rc n (g nfc) (mapPTermFC f g t1) (mapPTermFC f g t2)
1044+ mapPDoFC (DoLetP fc t1 t2 alts) =
1044− mapPDoFC (DoLetP fc t1 t2) = DoLetP (f fc) (mapPTermFC f g t1) (mapPTermFC f g t2)
1045+ DoLetP (f fc) (mapPTermFC f g t1) (mapPTermFC f g t2) (map (\(l,r) -> (mapPTermFC f g l, mapPTermFC f g r)) alts)
1045 mapPDoFC (DoRewrite fc h) = DoRewrite (f fc) (mapPTermFC f g h)
1046 mapPDoFC (DoRewrite fc h) = DoRewrite (f fc) (mapPTermFC f g h)
1046mapPTermFC f g (PIdiom fc t) = PIdiom (f fc) (mapPTermFC f g t)
1047mapPTermFC f g (PIdiom fc t) = PIdiom (f fc) (mapPTermFC f g t)
1047mapPTermFC f g (PMetavar fc n) = PMetavar (g fc) n
1048mapPTermFC f g (PMetavar fc n) = PMetavar (g fc) n
@@ -1166,7 +1167,7 @@ data PDo' t = DoExp FC t
1166 | DoBind FC Name FC t -- ^ second FC is precise name location
1167 | DoBind FC Name FC t -- ^ second FC is precise name location
1167 | DoBindP FC t t [(t,t)]
1168 | DoBindP FC t t [(t,t)]
1168 | DoLet FC RigCount Name FC t t -- ^ second FC is precise name location
1169 | DoLet FC RigCount Name FC t t -- ^ second FC is precise name location
1169− | DoLetP FC t t
1170+ | DoLetP FC t t [(t,t)]
1170 | DoRewrite FC t -- rewrite in do block
1171 | DoRewrite FC t -- rewrite in do block
1171 deriving (Eq, Ord, Functor, Data, Generic, Typeable)
1172 deriving (Eq, Ord, Functor, Data, Generic, Typeable)
@@ -1178,7 +1179,7 @@ instance Sized a => Sized (PDo' a) where
1178 size (DoBind fc nm nfc t) = 1 + size fc + size nm + size nfc + size t
1179 size (DoBind fc nm nfc t) = 1 + size fc + size nm + size nfc + size t
1179 size (DoBindP fc l r alts) = 1 + size fc + size l + size r + size alts
1180 size (DoBindP fc l r alts) = 1 + size fc + size l + size r + size alts
1180 size (DoLet fc rc nm nfc l r) = 1 + size fc + size nm + size l + size r
1181 size (DoLet fc rc nm nfc l r) = 1 + size fc + size nm + size l + size r
1181− size (DoLetP fc l r) = 1 + size fc + size l + size r
1182+ size (DoLetP fc l r alts) = 1 + size fc + size l + size r + size alts
1182 size (DoRewrite fc h) = 1 + size fc + size h
1183 size (DoRewrite fc h) = 1 + size fc + size h
1184type PDo = PDo' PTerm
1185type PDo = PDo' PTerm
@@ -1274,7 +1275,7 @@ highestFC (PDoBlock lines) =
1274 getDoFC (DoBind fc nm nfc t) = fc
1275 getDoFC (DoBind fc nm nfc t) = fc
1275 getDoFC (DoBindP fc l r alts) = fc
1276 getDoFC (DoBindP fc l r alts) = fc
1276 getDoFC (DoLet fc rc nm nfc l r) = fc
1277 getDoFC (DoLet fc rc nm nfc l r) = fc
1277− getDoFC (DoLetP fc l r) = fc
1278+ getDoFC (DoLetP fc l r alts) = fc
1278 getDoFC (DoRewrite fc h) = fc
1279 getDoFC (DoRewrite fc h) = fc
1280highestFC (PIdiom fc _) = Just fc
1281highestFC (PIdiom fc _) = Just fc
@@ -1955,7 +1956,7 @@ pprintPTerm ppo bnd docArgs infixes = prettySe (ppopt_depth ppo) startPrec bnd
1955 else text "=") <+>
1956 else text "=") <+>
1956 group (align (hang 2 (prettySe (decD d) startPrec bnd v)))) :
1957 group (align (hang 2 (prettySe (decD d) startPrec bnd v)))) :
1957 ppdo ((ln, False):bnd) dos
1958 ppdo ((ln, False):bnd) dos
1958− ppdo bnd (DoLetP _ _ _ : dos) = -- ok because never made by delab
1959+ ppdo bnd (DoLetP _ _ _ _ : dos) = -- ok because never made by delab
1959 text "no pretty printer for pattern-matching do binding" :
1960 text "no pretty printer for pattern-matching do binding" :
1960 ppdo bnd dos
1961 ppdo bnd dos
1961 ppdo bnd (DoRewrite _ _ : dos) = -- ok because never made by delab
1962 ppdo bnd (DoRewrite _ _ : dos) = -- ok because never made by delab