Add indent.
[haskell/symantic.git] / symantic-lib / Language / Symantic / Lib / Real.hs
index aa810103e33f86e6c9d0581efb059c8eb33f842f..0edd68e36a2a41bb224a031a70015157fdecb67e 100644 (file)
@@ -13,7 +13,7 @@ import Language.Symantic.Lib.Integer (tyInteger)
 import Language.Symantic.Lib.Ratio (tyRatio)
 
 -- * Class 'Sym_Real'
-type instance Sym (Proxy Real) = Sym_Real
+type instance Sym Real = Sym_Real
 class Sym_Real term where
        toRational :: Real a => term a -> term Rational
        default toRational :: Sym_Real (UnT term) => Trans term => Real a => term a -> term Rational
@@ -31,13 +31,15 @@ instance (Sym_Real r1, Sym_Real r2) => Sym_Real (Dup r1 r2) where
 instance (Sym_Real term, Sym_Lambda term) => Sym_Real (BetaT term)
 
 -- Typing
+instance NameTyOf Real where
+       nameTyOf _c = ["Real"] `Mod` "Real"
 instance FixityOf Real
 instance ClassInstancesFor Real
 instance TypeInstancesFor Real
 
 -- Compiling
 instance Gram_Term_AtomsFor src ss g Real
-instance (Source src, Inj_Sym ss Real) => ModuleFor src ss Real where
+instance (Source src, SymInj ss Real) => ModuleFor src ss Real where
        moduleFor = ["Real"] `moduleWhere`
         [ "toRational" := teReal_toRational
         ]
@@ -46,7 +48,7 @@ instance (Source src, Inj_Sym ss Real) => ModuleFor src ss Real where
 tyReal :: Source src => Type src vs a -> Type src vs (Real a)
 tyReal a = tyConstLen @(K Real) @Real (lenVars a) `tyApp` a
 
-tyRational :: Source src => Inj_Len vs => Type src vs Rational
+tyRational :: Source src => LenInj vs => Type src vs Rational
 tyRational = tyRatio tyInteger
 
 -- ** 'Term's