[monadic versions of ins del rep added
martin.hofmann@uni-bamberg.de**20081114141102] hunk ./src/Data/Fragments.hs 5
-    RuleFrag, name, frag, covr, opos, isOpen
+    RuleFrag, name, frag, covr, opos, isOpen,
+    RuleFrags, insert, delete
hunk ./src/Data/Fragments.hs 11
-import Prelude hiding (map)
+import Prelude hiding (map, null)
+import qualified Prelude as P (null)
hunk ./src/Data/Fragments.hs 15
-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/Fragments.hs 34
-isOpen = null.opos
+isOpen = P.null.opos
hunk ./src/Data/Fragments.hs 56
+null :: RuleFrags -> Bool
+null = S.null.unRFS
hunk ./src/Data/Fragments.hs 72
+insertM :: RuleFrag -> Maybe RuleFrags -> Maybe RuleFrags
+insertM  r rs   = rs >>= \rs' -> return $ insert r rs'
+
hunk ./src/Data/Fragments.hs 78
+deleteM :: RuleFrag -> Maybe RuleFrags -> Maybe RuleFrags
+deleteM r rs = do
+    rs' <- rs
+    d   <- return $ delete r rs'
+    if null d
+      then return d
+      else fail ""
+
hunk ./src/Data/Fragments.hs 93
+replaceM r1 r2 = (insertM r2).(deleteM r2)
+ 