[HO funs affect synthesis strategy
martin.hofmann@uni-bamberg.de**20090714023221
 HO funs donn't count into partitions
 When Morphisms are introduced, no other operators are applied
 When Ctamorphism, then no recursive call to the used fun allowed (? don't know if we want that, but otherwise matching is too much)
 
] hunk ./src/Data/Rules.hs 7
-    freeVars, hasFreeVars, openPositions, antiunifyRules, matchLhss, 
+    hasHO, freeVars, hasFreeVars, openPositions, antiunifyRules, matchLhss, 
hunk ./src/Data/Rules.hs 40
---import Syntax.Terms hiding (sameSymAt)
---import qualified Syntax.Terms as T (sameSymAt)
---import Syntax.Unifier
---import Syntax.Antiunifier
---import Syntax.Expressions
---import Syntax.Patterns
+
hunk ./src/Data/Rules.hs 141
+hasHO :: Rule -> Bool
+hasHO = isHOApp . rhs
hunk ./src/Rating/Rateable.hs 13
+import Syntax.Types
hunk ./src/Rating/Rateable.hs 66
-numberOfPartitions = length . (foldl' leastPatterns []) . S.toList . allRules 
+numberOfPartitions = length . (foldl' leastPatterns []) . (filter (not . hasHO)) . S.toList . allRules 
hunk ./src/RuleDevelopment.hs 19
-    parts <- partition rf
-    subfs <- callSubfunction rf
-    mtchs <- introduceMatchings cd rf
hunk ./src/RuleDevelopment.hs 20
-    return $ parts  ++ subfs ++ mtchs ++ folds
+    if not $ null folds then return folds
+      else do parts <- partition rf
+              subfs <- callSubfunction rf
+              mtchs <- introduceMatchings cd rf
+              return $ parts ++ subfs ++ mtchs
hunk ./src/RuleDevelopment/UniProp.hs 47
-    let calls = [((name cr),subfnm,LT)]
-     
+    let calls = [((name cr),subfnm,GT)
+                ]
+    
hunk ./src/Syntax/Expressions.hs 1088
+isFunApp :: TExp -> Bool
+isFunApp = hasFunT . head . unfoldTAppE
+
+isHOApp :: TExp -> Bool
+isHOApp = hasHOT . head . unfoldTAppE          
hunk ./src/Syntax/Types.hs 6
+    isFunT, hasFunT, isHOT, hasHOT,