parameterise over qty semiring

This commit is contained in:
rhiannon morris 2023-01-08 20:44:25 +01:00
parent 961c8415b5
commit c45a963ba0
16 changed files with 712 additions and 491 deletions

View file

@ -1,7 +1,7 @@
module TermImpls
import Quox.Syntax
import Quox.Pretty
import public Quox.Pretty
private
@ -22,7 +22,7 @@ eqSubst (_ ::: _) (Shift _) = Nothing
mutual
export covering
Eq (Term d n) where
Eq q => Eq (Term q d n) where
TYPE k == TYPE l = k == l
TYPE _ == _ = False
@ -49,7 +49,7 @@ mutual
DCloT {} == _ = False
export covering
Eq (Elim d n) where
Eq q => Eq (Elim q d n) where
F x == F y = x == y
F _ == _ = False
@ -75,16 +75,16 @@ mutual
DCloE {} == _ = False
export covering
Eq (ScopeTerm d n) where
Eq q => Eq (ScopeTerm q d n) where
TUsed s == TUsed t = s == t
TUnused s == TUnused t = s == t
TUsed _ == TUnused _ = False
TUnused _ == TUsed _ = False
export covering
Show (Term d n) where
PrettyHL q => Show (Term q d n) where
showPrec d t = showParens (d /= Open) $ prettyStr True t
export covering
Show (Elim d n) where
PrettyHL q => Show (Elim q d n) where
showPrec d e = showParens (d /= Open) $ prettyStr True e