Mercurial > hg > Members > atton > delta_monad
diff delta.hs @ 101:29c54b0197fb
Fix bind definition on DeltaM. use mu.
author | Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 25 Jan 2015 12:15:19 +0900 |
parents | 0580e1642477 |
children | f2187ad63791 |
line wrap: on
line diff
--- a/delta.hs Fri Jan 23 17:44:53 2015 +0900 +++ b/delta.hs Sun Jan 25 12:15:19 2015 +0900 @@ -125,8 +125,8 @@ mu' :: (Functor m, Monad m) => DeltaM m (DeltaM m a) -> DeltaM m a -mu' (DeltaM (Mono x)) = DeltaM $ Mono $ x >>= headDeltaM -mu' (DeltaM (Delta x d)) = appendDeltaM (DeltaM $ Mono $ x >>= headDeltaM) +mu' (DeltaM (Mono x)) = DeltaM $ Mono $ (>>= id) $ fmap headDeltaM x +mu' (DeltaM (Delta x d)) = appendDeltaM (mu' $ DeltaM $ Mono x) (mu' $ fmap tailDeltaM $ DeltaM d ) instance (Functor m, Monad m) => Monad (DeltaM m) where