[move class Substitution to Terms, made Type instance of Term
martin.hofmann@uni-bamberg.de**20090414102104] hunk ./src/Syntax/Terms.hs 244
-
+class Substitute a where
+    apply :: (Substitution a) -> a -> a
+    
+     
hunk ./src/Syntax/Types.hs 57
-    
+
+
+--------------------------------------------------------------------------------
+-- Auxiliary functions for Type as Term
+--------------------------------------------------------------------------------
+
hunk ./src/Syntax/Types.hs 75
-tyvars :: Type -> [Name]
-tyvars t@(VarT n) = [n]
-tyvars (AppT t1 t2) = (tyvars t1) `union` (tyvars t2)
-tyvars _   = [] -- VarT, ConT, TupltT, ArrowT,ListT
+--tyvars :: Type -> [Name]
+--tyvars t@(VarT n) = [n]
+--tyvars (AppT t1 t2) = (tyvars t1) `union` (tyvars t2)
+--tyvars _   = [] -- VarT, ConT, TupltT, ArrowT,ListT
hunk ./src/Syntax/Types.hs 82
-    case tyvars t of
+    case getVarNames t of
hunk ./src/Syntax/Types.hs 95
+fixType ty@(AppT (ConT n) t)
+    | isNil n   = AppT ListT t
+    | otherwise = ty 
+    
hunk ./src/Syntax/Types.hs 109
+
+
hunk ./src/Syntax/Types.hs 112
--- | instantiating Type 't2' with Type 't1', where 't2' contains type variables
---   which are to instantiate using 't1'. E.g.
---   @specialise '[Int]' '(b,a) -> (a,String) -> [a]' is '(b,Int) -> (Int,String) -> [Int]@
-instantiate :: (Monad m) => Type -> Type -> m Type
-  
-instantiate t1 t2 =  return t2