Add tar GNUmakefile target.
[haskell/symantic.git] / symantic-lib / Language / Symantic / Lib / IO.hs
index a67010b3678bdc331da5dd02b7d2530ce1aea4d4..6f354f2ec777bbaf128f938cd944ba0ed3be3036 100644 (file)
@@ -52,6 +52,12 @@ instance (Sym_IO_Handle term, Sym_Lambda term) => Sym_IO_Handle (BetaT term)
 instance (Sym_IO_Mode term, Sym_Lambda term) => Sym_IO_Mode (BetaT term)
 
 -- Typing
+instance NameTyOf IO where
+       nameTyOf _c = ["IO"] `Mod` "IO"
+instance NameTyOf IO.Handle where
+       nameTyOf _c = ["IO"] `Mod` "Handle"
+instance NameTyOf IO.IOMode where
+       nameTyOf _c = ["IO"] `Mod` "IOMode"
 instance FixityOf IO
 instance ClassInstancesFor IO where
        proveConstraintFor _ (TyApp _ (TyConst _ _ q) z)
@@ -94,7 +100,7 @@ instance TypeInstancesFor IO.IOMode
 
 -- Compiling
 instance ModuleFor src ss IO
-instance (Source src, Inj_Sym ss IO.Handle) => ModuleFor src ss IO.Handle where
+instance (Source src, SymInj ss IO.Handle) => ModuleFor src ss IO.Handle where
        moduleFor = ["IO"] `moduleWhere`
         [ "hClose"   := teIO_hClose
         , "openFile" := teIO_openFile
@@ -108,13 +114,13 @@ instance Gram_Term_AtomsFor src ss g IO.IOMode
 tyIO :: Source src => Type src vs a -> Type src vs (IO a)
 tyIO a = tyConstLen @(K IO) @IO (lenVars a) `tyApp` a
 
-tyIO_Handle :: Source src => Inj_Len vs => Type src vs IO.Handle
+tyIO_Handle :: Source src => LenInj vs => Type src vs IO.Handle
 tyIO_Handle = tyConst @(K IO.Handle) @IO.Handle
 
-tyIO_Mode :: Source src => Inj_Len vs => Type src vs IO.IOMode
+tyIO_Mode :: Source src => LenInj vs => Type src vs IO.IOMode
 tyIO_Mode = tyConst @(K IO.IOMode) @IO.IOMode
 
-tyFilePath :: Source src => Inj_Len vs => Type src vs FilePath
+tyFilePath :: Source src => LenInj vs => Type src vs FilePath
 tyFilePath = tyString
 
 -- ** 'Term's