[code cleaning and logging
martin.hofmann@uni-bamberg.de**20091217151331] hunk ./src/Igor2/RuleDevelopment/Cata.hs 36
---              return . concat $ rs -- do all possibilities
+    gmsg = linebreak <> text "Try generic catamorphism"
+    smsg = linebreak <> text "Try special catamorphism on lists"  
hunk ./src/Igor2/RuleDevelopment/Cata.hs 53
-    llogNO $ text "Check argument" <+> int i <+> text "for general 'cata'!"
+    llogNO msg
hunk ./src/Igor2/RuleDevelopment/Cata.hs 56
-     `catchError` \e -> noCata i e 
+     `catchError` \e -> noCata i e >> return [] 
hunk ./src/Igor2/RuleDevelopment/Cata.hs 60
+    msg = linebreak <> text "Check argument" <+> 
+          int i <+> text "for general 'cata'!"
+    noCata i e = llogNO (text "Catamorphism not applicable:" <+> 
+                 text "Universal Property not satisfied for argument" <+>
+                 int i <+> text "!" <+> text (show e))
hunk ./src/Igor2/RuleDevelopment/Cata.hs 92
-     mkMediators as r = let fty = (map typeOf) . lhs . crul $ r
-                            fex = tConE (name r) fty in
-                            foldTAppE fex as
-     mkInfxs [l,r] = let lty = typeOf l
-                         rty = typeOf r
-                         ety = foldAppT (conT ''Either) [head . unArrowT $ lty,head . unArrowT $ rty]
-                     in  tInfixE (tConE '(\/) [lty,rty,ety,last . unArrowT $ lty]) l r 
-     mkInfxs (l:rs)= let r = mkInfxs rs
-                         lty = typeOf l
-                         rty = typeOf r
-                         ety = foldAppT (conT ''Either) [head . unArrowT $ lty,head . unArrowT $ rty]
-                     in  tInfixE (tConE '(\/) [lty,rty,ety,last . unArrowT $ rty]) l r 
+     mkMediators as r = 
+        let fty = (map typeOf) . lhs . crul $ r
+            fex = tConE (name r) fty
+        in foldTAppE fex as
+     mkInfxs [l,r] = 
+        let lty = typeOf l; rty = typeOf r
+            ety = foldAppT (conT ''Either) $ map (head . unArrowT) [lty,rty]
+        in  tInfixE (tConE '(\/) [lty,rty,ety,last . unArrowT $ lty]) l r 
+     mkInfxs (l:rs)= 
+        let r = mkInfxs rs; lty = typeOf l; rty = typeOf r
+            ety = foldAppT (conT ''Either)$ map (head . unArrowT) [lty,rty]
+        in  tInfixE (tConE '(\/) [lty,rty,ety,last . unArrowT $ rty]) l r 
hunk ./src/Igor2/RuleDevelopment/Cata.hs 136
-        
-noCata i e = llogNO (text "Catamorphism not applicable:" <+> 
-                     text "Universal Property not satisfied for argument" <+>
-                     int i <+> text "!" <+> text (show e)) >> 
-             return [] 