[BUGFIX: foldr had too many arguments in fun call after optimising arguments
martin.hofmann@uni-bamberg.de**20100104171006] hunk ./src/Igor2/Data/Rules.hs 4
-    Rule, mkRule, rule, rhs, lhs, ithArg, butIthArg,
+    Rule, mkRule, rule, rhs, lhs, ithArg, butIthArg, butIthArgs,
hunk ./src/Igor2/Data/Rules.hs 62
-butIthArg i = (\l -> l \\ [l!!i]) . lhs 
+butIthArg i   = butIthArgs [i] 
+butIthArgs is = (\l -> l \\ (map (l!!) is)) . lhs 
hunk ./src/Igor2/RuleDevelopment/ListCata.hs 187
-       Therefore, we remove those variables from the argumetn list of the
+       Therefore, we remove those variables from the argument list of the
hunk ./src/Igor2/RuleDevelopment/ListCata.hs 192
+    
hunk ./src/Igor2/RuleDevelopment/ListCata.hs 202
-    let afty = [typeOf . crul $ afcr]                
-    let atys = (typeOf . rhs $ vr) : (unArrowT . typeOf . crul $ cr)
+    let afty = typeOf . crul $ afcr                
+    let atys = [(typeOf . rhs $ vr), typeOf $ ithArg i $ crul cr ,(typeOf . rhs $ vr)]
hunk ./src/Igor2/RuleDevelopment/ListCata.hs 209
-    let afExp = foldTAppE ((tConE afnm) afty) $ (butIthArg i) . crul $ cr
+    let afExp = foldTAppE ((tConE afnm) [afty]) $ (butIthArgs (i:usedVarInd)) . crul $ cr
hunk ./src/Igor2/RuleDevelopment/ListCata.hs 211
-                    (tConE 'foldr (afty ++ atys))
+                    (tConE 'foldr (afty: atys))
hunk ./src/Igor2/RuleDevelopment/ListCata.hs 218
-    replaceInverseIn t (n,s)= (flip (uncurry . flip $ replaceTerm)) t (toVar t n, t)
+    replaceInverseIn t (n,s)= replaceTerm s (toVar s n) t