[monadic versions of ins del rep added
martin.hofmann@uni-bamberg.de**20081114141307] hunk ./src/Data/Rules.hs 9
+    insertM, deleteM, replaceM, 
hunk ./src/Data/Rules.hs 16
-import Prelude hiding (map)
+import Prelude hiding (map, null)
hunk ./src/Data/Rules.hs 19
-import qualified Data.Set as S (fromList, toList, fold, map, insert, delete, union)
+import qualified Data.Set as S (fromList, toList, fold, map, null, insert, delete, union)
hunk ./src/Data/Rules.hs 74
+null = S.null.unRS
hunk ./src/Data/Rules.hs 82
+insertM :: Rule -> Maybe Rules -> Maybe Rules
+insertM  r rs   = rs >>= \rs' -> return $ insert r rs'
+
hunk ./src/Data/Rules.hs 88
+deleteM :: Rule -> Maybe Rules -> Maybe Rules
+deleteM r rs = do
+    rs' <- rs
+    d   <- return $ delete r rs'
+    if null d
+      then return d
+      else fail ""
hunk ./src/Data/Rules.hs 102
+replaceM r1 r2 = (insertM r2).(deleteM r2)