[isVar, fromVar, toVar, member functions of Term
martin.hofmann@uni-bamberg.de**20090428120331] hunk ./src/Data/Rules.hs 88
-    in map (mkVar (rhs r)) diff
+    in map (toVar (rhs r)) diff
hunk ./src/Syntax/Antiunifier.hs 12
-        aunify,
-        mkVar
+        aunify
hunk ./src/Syntax/Antiunifier.hs 22
-
+import Syntax.Terms
hunk ./src/Syntax/Antiunifier.hs 79
-class Antiunifieable t where
+class (Term t) => Antiunifieable t where
hunk ./src/Syntax/Antiunifier.hs 101
-    -- | Given a term 't' and a Name 'n', returns a variable of type 'v' with name 'n'
-    --   The first argument is moe or less to dissolve the functional 
-    --   dependencies.
-    mkVar            :: t -> Name -> t
+--    -- | Given a term 't' and a Name 'n', returns a variable of type 'v' with name 'n'
+--    --   The first argument is moe or less to dissolve the functional 
+--    --   dependencies.
+--    mkVar            :: t -> Name -> t
hunk ./src/Syntax/Antiunifier.hs 303
-        (Just v)    -> (table, mkVar (head img) v)
+        (Just v)    -> (table, toVar (head img) v)
hunk ./src/Syntax/Antiunifier.hs 305
-                           newval = mkVar (head img) name
+                           newval = toVar (head img) name
hunk ./src/Syntax/Expressions.hs 181
-                        
-    getVarNames t = map (\(TVarE n _) -> n)  $ getVars t
-        
+    
+    fromVar (TVarE n _) = n
+    fromVar _ = error "Syntax.Terms.fromVar at Expressions: Not a Variable"
+    
+    toVar t n = TVarE n (typeOf t)
+            
hunk ./src/Syntax/Expressions.hs 351
-    mkVar t n = TVarE n (typeOf t)
hunk ./src/Syntax/Expressions.hs 630
-    isVar _        = False
-                                
-    getVarNames t = map (\(VarE n) -> n)  $ getVars t
+    isVar _        = False                                
+    
+    fromVar (VarE n) = n
+    fromVar _ = error "Syntax.Terms.fromVar at Expressions: Not a Variable"
+    
+    toVar _ = VarE
hunk ./src/Syntax/Expressions.hs 854
-
-    mkVar _ n = VarE n
hunk ./src/Syntax/Patterns.hs 121
-
-    getVarNames t     = map (\(TVarP n _) -> n)  $ getVars t
+    
+    fromVar (TVarP n _) = n
+    fromVar _ = error "Syntax.Terms.fromVar at Patterns: Not a Variable"
+    
+    toVar t n = TVarP n (typeOf t)
hunk ./src/Syntax/Patterns.hs 264
-    mkVar t n = TVarP n (typeOf t)
-
hunk ./src/Syntax/Patterns.hs 449
+    
+    fromVar (VarP n) = n
+    fromVar _ = error "Syntax.Terms.fromVar at Patterns: Not a Variable"
+    
+    toVar _ = VarP
+    
hunk ./src/Syntax/Patterns.hs 462
-                        
-    getVarNames t = map (\(VarP n) -> n)  $ getVars t
hunk ./src/Syntax/Patterns.hs 582
-    mkVar _ n = VarP n
hunk ./src/Syntax/Terms.hs 19
+    getVarNames,
hunk ./src/Syntax/Terms.hs 124
-    -- |Returns a (unique) list of all variable names in t
-    getVarNames     :: t -> [Name]
+
hunk ./src/Syntax/Terms.hs 127
+    -- | Given a term 't' and a Name 'n', returns a variable of type 'v' with name 'n'
+    --   The first argument is moe or less to dissolve the functional 
+    --   dependencies.
+    toVar :: t -> Name -> t
+    fromVar :: t -> Name
hunk ./src/Syntax/Terms.hs 139
-subtermOf t s = not $ null $ (getPos t s)
+subtermOf t s = not . null $ getPos t s
hunk ./src/Syntax/Terms.hs 146
-subtermAt t Root = return t
-subtermAt t pos = 
-    case pos of
---        (P i)     -> do { let subs = subterms t
---                        ; r <-  subs !?! i 
---                        ; noHole "Terms.subterm: No subterm at position" r}
-        (Dot i p) -> do { let subs = subterms t
-                        ; sub <- subs !?! i
-                        ; r <- subtermAt sub p
-                        ; noHole "Terms.subterm: No subterm at position" r}
+subtermAt t Root      = return t
+subtermAt t (Dot i p) = do
+    r <- (subterms t) !?! i >>=  flip subtermAt p
+    noHole "Terms.subterm: No subterm at position" r
hunk ./src/Syntax/Terms.hs 171
- 
+
+-- |Returns a (unique) list of all variable names in t
+getVarNames     :: (Term t) => t -> [Name]
+getVarNames t
+    | isVar t   = [fromVar t]
+    | otherwise = concatMap getVarNames (subterms t)
+     
hunk ./src/Syntax/Types.hs 172
-    getVarNames = (map (\(VarT n) -> n)) . getVars 
+    fromVar (VarT n) = n
+    fromVar _ = error "Syntax.Terms.fromVar at Types: Not a Variable"
hunk ./src/Syntax/Types.hs 175
+    toVar _ = VarT
+        