Copyright | (c) Henning Thielemann 2007 |
---|---|

Maintainer | haskell@henning-thielemann.de |

Stability | stable |

Portability | Haskell 98 |

Safe Haskell | Safe |

Language | Haskell98 |

Event lists starting with a time difference and ending with either a data body or a time difference.

- snocBody :: T time body -> body -> T time body
- snocTime :: T time body -> time -> T time body
- viewTimeR :: T time body -> (T time body, time)
- viewBodyR :: T time body -> Maybe (T time body, body)
- switchTimeR :: (T time body -> time -> a) -> T time body -> a
- switchBodyR :: a -> (T time body -> body -> a) -> T time body -> a
- mapTimeR :: (T time body0 -> T time body1, time -> time) -> T time body0 -> T time body1
- mapTimeLast :: (time -> time) -> T time body -> T time body
- mapTimeInit :: (T time body0 -> T time body1) -> T time body0 -> T time body1
- mapBodyR :: (T time0 body -> T time1 body, body -> body) -> T time0 body -> T time1 body
- mapBodyLast :: (body -> body) -> T time body -> T time body
- mapBodyInit :: (T time0 body -> T time1 body) -> T time0 body -> T time1 body
- appendBodyEnd :: C time => T time body -> T time body -> T time body
- prependBodyEnd :: T time body -> T time body -> T time body
- splitAtTime :: C time => time -> T time body -> (T time body, T time body)
- takeTime :: C time => time -> T time body -> T time body
- dropTime :: C time => time -> T time body -> T time body
- splitAfterTime :: C time => time -> T time body -> (T time body, T time body)
- takeAfterTime :: C time => time -> T time body -> T time body
- dropAfterTime :: C time => time -> T time body -> T time body

# Documentation

switchTimeR :: (T time body -> time -> a) -> T time body -> a Source #

switchBodyR :: a -> (T time body -> body -> a) -> T time body -> a Source #

mapTimeLast :: (time -> time) -> T time body -> T time body Source #

mapBodyLast :: (body -> body) -> T time body -> T time body Source #

appendBodyEnd :: C time => T time body -> T time body -> T time body Source #

This is not a good name, expect a change.

prependBodyEnd :: T time body -> T time body -> T time body Source #

This is not a good name, expect a change.

splitAtTime :: C time => time -> T time body -> (T time body, T time body) Source #

At the division time move all zero time differences to the suffix part, that is we will always split before a group of events.