Mercurial > hg > Members > atton > delta_monad
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)