@@ -819,7 +819,6 @@ data PTerm = PQuote Raw -- ^ Inclusion of a core term into the high-level langua
819819 | PCase FC PTerm [(PTerm, PTerm)] -- ^ A case expression. Args are source location, scrutinee, and a list of pattern/RHS pairs
820820 | PTrue FC PunInfo -- ^ Unit type..?
821821 | PResolveTC FC -- ^ Solve this dictionary by type class resolution
822− | PEq FC PTerm PTerm PTerm PTerm -- ^ Heterogeneous equality type: A = B
823822 | PRewrite FC PTerm PTerm (Maybe PTerm) -- ^ "rewrite" syntax, with optional result type
824823 | PPair FC PunInfo PTerm PTerm -- ^ A pair (a, b) and whether it's a product type or a pair (solved by elaboration)
825824 | PDPair FC PunInfo PTerm PTerm PTerm -- ^ A dependent pair (tm : a ** b) and whether it's a sigma type or a pair that inhabits one (solved by elaboration)
@@ -866,7 +865,6 @@ mapPT f t = f (mpt t) where
866865 mpt (PAppBind fc t as) = PAppBind fc (mapPT f t) (map (fmap (mapPT f)) as)
867866 mpt (PCase fc c os) = PCase fc (mapPT f c) (map (pmap (mapPT f)) os)
868867 mpt (PIfThenElse fc c t e) = PIfThenElse fc (mapPT f c) (mapPT f t) (mapPT f e)
869− mpt (PEq fc lt rt l r) = PEq fc (mapPT f lt) (mapPT f rt) (mapPT f l) (mapPT f r)
870868 mpt (PTyped l r) = PTyped (mapPT f l) (mapPT f r)
871869 mpt (PPair fc p l r) = PPair fc p (mapPT f l) (mapPT f r)
872870 mpt (PDPair fc p l t r) = PDPair fc p (mapPT f l) (mapPT f t) (mapPT f r)
@@ -1027,7 +1025,6 @@ highestFC (PCase fc _ _) = Just fc
10271025highestFC (PIfThenElse fc _ _ _) = Just fc
10281026highestFC (PTrue fc _) = Just fc
10291027highestFC (PResolveTC fc) = Just fc
1030−highestFC (PEq fc _ _ _ _) = Just fc
10311028highestFC (PRewrite fc _ _ _) = Just fc
10321029highestFC (PPair fc _ _ _) = Just fc
10331030highestFC (PDPair fc _ _ _ _) = Just fc
@@ -1479,6 +1476,21 @@ pprintPTerm ppo bnd docArgs infixes = prettySe startPrec bnd
14791476 bracket p startPrec $
14801477 lbrace <> kwd "tacimp" <+> pretty n <+> colon <+> prettySe startPrec bnd ty <>
14811478 rbrace <+> text "->" </> prettySe startPrec ((n, True):bnd) sc
1479+ -- This case preserves the behavior of the former constructor PEq.
1480+ -- It should be removed if feasible when the pretty-printing of infix
1481+ -- operators in general is improved.
1482+ prettySe p bnd (PApp _ (PRef _ n) [lt, rt, l, r])
1483+ | n == eqTy, ppopt_impl ppo =
1484+ bracket p eqPrec $
1485+ enclose lparen rparen eq <+>
1486+ align (group (vsep (map (prettyArgS bnd)
1487+ [lt, rt, l, r])))
1488+ | n == eqTy =
1489+ bracket p eqPrec . align . group $
1490+ prettyTerm (getTm l) <+> eq <$> group (prettyTerm (getTm r))
1491+ where eq = annName eqTy (text "=")
1492+ eqPrec = startPrec
1493+ prettyTerm = prettySe (eqPrec + 1) bnd
14821494 prettySe p bnd (PApp _ (PRef _ f) args) -- normal names, no explicit args
14831495 | UN nm <- basename f
14841496 , not (ppopt_impl ppo) && null (getShowArgs args) =
@@ -1558,21 +1570,6 @@ pprintPTerm ppo bnd docArgs infixes = prettySe startPrec bnd
15581570 prettySe p bnd (PTrue _ IsType) = annName unitTy $ text "()"
15591571 prettySe p bnd (PTrue _ IsTerm) = annName unitCon $ text "()"
15601572 prettySe p bnd (PTrue _ TypeOrTerm) = text "()"
1561− prettySe p bnd (PEq _ lt rt l r)
1562− | ppopt_impl ppo =
1563− bracket p eqPrec $
1564− enclose lparen rparen eq <+>
1565− align (group (vsep (map (prettyArgS bnd)
1566− [PImp 0 False [] (sUN "A") lt,
1567− PImp 0 False [] (sUN "B") rt,
1568− PExp 0 [] (sUN "x") l,
1569− PExp 0 [] (sUN "y") r])))
1570− | otherwise =
1571− bracket p eqPrec . align . group $
1572− prettyTerm l <+> eq <$> group (prettyTerm r)
1573− where eq = annName eqTy (text "=")
1574− eqPrec = startPrec
1575− prettyTerm = prettySe (eqPrec + 1) bnd
15761573 prettySe p bnd (PRewrite _ l r _) =
15771574 bracket p startPrec $
15781575 text "rewrite" <+> prettySe (startPrec + 1) bnd l <+> text "in" <+> prettySe startPrec bnd r
@@ -1870,7 +1867,6 @@ instance Sized PTerm where
18701867 size (PIfThenElse fc c t f) = 1 + sum (map size [c, t, f])
18711868 size (PTrue fc _) = 1
18721869 size (PResolveTC fc) = 1
1873− size (PEq fc _ _ left right) = 1 + size left + size right
18741870 size (PRewrite fc left right _) = 1 + size left + size right
18751871 size (PPair fc _ left right) = 1 + size left + size right
18761872 size (PDPair fs _ left ty right) = 1 + size left + size ty + size right
@@ -1911,7 +1907,6 @@ allNamesIn tm = nub $ ni [] tm
19111907 ni env (PLam fc n ty sc) = ni env ty ++ ni (n:env) sc
19121908 ni env (PPi p n ty sc) = niTacImp env p ++ ni env ty ++ ni (n:env) sc
19131909 ni env (PHidden tm) = ni env tm
1914− ni env (PEq _ _ _ l r) = ni env l ++ ni env r
19151910 ni env (PRewrite _ l r _) = ni env l ++ ni env r
19161911 ni env (PTyped l r) = ni env l ++ ni env r
19171912 ni env (PPair _ _ l r) = ni env l ++ ni env r
@@ -1938,7 +1933,6 @@ boundNamesIn tm = S.toList (ni S.empty tm)
19381933 ni set (PLam fc n ty sc) = S.insert n $ ni (ni set ty) sc
19391934 ni set (PLet fc n ty val sc) = S.insert n $ ni (ni (ni set ty) val) sc
19401935 ni set (PPi p n ty sc) = niTacImp (S.insert n $ ni (ni set ty) sc) p
1941− ni set (PEq _ _ _ l r) = ni (ni set l) r
19421936 ni set (PRewrite _ l r _) = ni (ni set l) r
19431937 ni set (PTyped l r) = ni (ni set l) r
19441938 ni set (PPair _ _ l r) = ni (ni set l) r
@@ -1978,7 +1972,6 @@ implicitNamesIn uvars ist tm = nub $ ni [] tm
19781972 ni env (PIfThenElse _ c t f) = concatMap (ni env) [c, t, f]
19791973 ni env (PLam fc n ty sc) = ni env ty ++ ni (n:env) sc
19801974 ni env (PPi p n ty sc) = ni env ty ++ ni (n:env) sc
1981− ni env (PEq _ _ _ l r) = ni env l ++ ni env r
19821975 ni env (PRewrite _ l r _) = ni env l ++ ni env r
19831976 ni env (PTyped l r) = ni env l ++ ni env r
19841977 ni env (PPair _ _ l r) = ni env l ++ ni env r
@@ -2009,7 +2002,6 @@ namesIn uvars ist tm = nub $ ni [] tm
20092002 ni env (PIfThenElse _ c t f) = concatMap (ni env) [c, t, f]
20102003 ni env (PLam fc n ty sc) = ni env ty ++ ni (n:env) sc
20112004 ni env (PPi p n ty sc) = niTacImp env p ++ ni env ty ++ ni (n:env) sc
2012− ni env (PEq _ _ _ l r) = ni env l ++ ni env r
20132005 ni env (PRewrite _ l r _) = ni env l ++ ni env r
20142006 ni env (PTyped l r) = ni env l ++ ni env r
20152007 ni env (PPair _ _ l r) = ni env l ++ ni env r
@@ -2041,7 +2033,6 @@ usedNamesIn vars ist tm = nub $ ni [] tm
20412033 ni env (PIfThenElse _ c t f) = concatMap (ni env) [c, t, f]
20422034 ni env (PLam fc n ty sc) = ni env ty ++ ni (n:env) sc
20432035 ni env (PPi p n ty sc) = niTacImp env p ++ ni env ty ++ ni (n:env) sc
2044− ni env (PEq _ _ _ l r) = ni env l ++ ni env r
20452036 ni env (PRewrite _ l r _) = ni env l ++ ni env r
20462037 ni env (PTyped l r) = ni env l ++ ni env r
20472038 ni env (PPair _ _ l r) = ni env l ++ ni env r