Add tar GNUmakefile target.
[haskell/symantic.git] / symantic-lib / Language / Symantic / Lib / Integral.hs
index 81fd1db859a9333d81d23d26d2e7e6019d253b5b..0ec4afeb17df02b6abe67a4d5476456ff831ad1d 100644 (file)
@@ -13,7 +13,7 @@ import Language.Symantic.Lib.Integer (tyInteger)
 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`
@@ -69,14 +69,16 @@ instance (Sym_Integral r1, Sym_Integral r2) => Sym_Integral (Dup r1 r2) where
 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