diff delta.hs @ 94:bcd4fe52a504

Rewrite monad definitions for delta/deltaM
author Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
date Mon, 19 Jan 2015 17:10:29 +0900
parents a1723b3ea997
children 0580e1642477
line wrap: on
line diff
--- a/delta.hs	Mon Jan 19 15:21:29 2015 +0900
+++ b/delta.hs	Mon Jan 19 17:10:29 2015 +0900
@@ -128,7 +128,7 @@
 instance (Monad m) => Monad (DeltaM m) where
     return x                   = DeltaM $ Mono $ return x
     (DeltaM (Mono x))    >>= f = DeltaM $ Mono $ (x >>= headDeltaM . f)
-    (DeltaM (Delta x d)) >>= f = appendDeltaM ((DeltaM $ Mono x) >>= f)
+    (DeltaM (Delta x d)) >>= f = appendDeltaM (DeltaM $ Mono $ (x >>= (headDeltaM . f)))
                                               ((DeltaM d) >>= tailDeltaM . f)