import Language.Symantic.Lib.Tuple2 (tyTuple2)
-- * Class 'Sym_Integral'
-type instance Sym (Proxy Integral) = Sym_Integral
+type instance Sym Integral = Sym_Integral
class Sym_Integral term where
quot :: Integral i => term i -> term i -> term i; infixl 7 `quot`
rem :: Integral i => term i -> term i -> term i; infixl 7 `rem`
instance (Sym_Integral term, Sym_Lambda term) => Sym_Integral (BetaT term)
-- Typing
+instance NameTyOf Integral where
+ nameTyOf _c = ["Integral"] `Mod` "Integral"
instance FixityOf Integral
instance ClassInstancesFor Integral
instance TypeInstancesFor Integral
-- Compiling
instance Gram_Term_AtomsFor src ss g Integral
-instance (Source src, Inj_Sym ss Integral) => ModuleFor src ss Integral where
- moduleFor _s = ["Integral"] `moduleWhere`
+instance (Source src, SymInj ss Integral) => ModuleFor src ss Integral where
+ moduleFor = ["Integral"] `moduleWhere`
[ "quot" `withInfixL` 7 := teIntegral_quot
, "rem" `withInfixL` 7 := teIntegral_rem
, "div" `withInfixL` 7 := teIntegral_div