Lines Matching refs:arith
653 \S\ref{polymorphic}, let us define the class $arith$ of arithmetic
655 \alpha$, for $\alpha{::}arith$. We introduce $arith$ as a subclass of
660 classes arith < term
661 consts "0" :: 'a::arith ("0")
662 "1" :: 'a::arith ("1")
663 "+" :: ['a::arith,'a] => 'a (infixl 60)
671 We can now obtain distinct versions of the constants of $arith$ by
672 declaring certain types to be of class $arith$. For example, let us
678 arities bool, nat :: arith
690 Because $nat$ and $bool$ have class $arith$, we can use $0$, $1$ and $+$ at
693 would have type $\alpha{::}arith$
694 and the axiom would hold for any type of class $arith$. This would