module Data.EventList.Relative.MixedTime
(consBody, consTime, (/.), (./), empty,
viewTimeL, viewBodyL,
switchTimeL, switchBodyL,
mapTimeL, mapTimeHead, mapTimeTail,
mapBodyL, mapBodyHead, mapBodyTail,
) where
import qualified Data.EventList.Relative.BodyTimePrivate as BodyTimePriv
import Data.EventList.Relative.TimeTimePrivate as TimeTimePriv
import qualified Data.EventList.Relative.BodyTime as BodyTimeList
import qualified Data.EventList.Relative.TimeTime as TimeTimeList
import Data.EventList.Relative.BodyTime (empty)
import qualified Data.AlternatingList.List.Mixed as Mixed
import Data.Tuple.HT (mapSnd, )
import Prelude hiding
(null, foldr, map, filter, concat, cycle, sequence, sequence_, mapM, mapM_)
infixr 5 /. , ./
(./) :: body -> TimeTimeList.T time body -> BodyTimeList.T time body
./ :: forall body time. body -> T time body -> T time body
(./) = forall body time. body -> T time body -> T time body
consBody
(/.) :: time -> BodyTimeList.T time body -> TimeTimeList.T time body
/. :: forall time body. time -> T time body -> T time body
(/.) = forall time body. time -> T time body -> T time body
consTime
mapBodyL ::
(body -> body, TimeTimeList.T time0 body -> TimeTimeList.T time1 body) ->
BodyTimeList.T time0 body -> BodyTimeList.T time1 body
mapBodyL :: forall body time0 time1.
(body -> body, T time0 body -> T time1 body)
-> T time0 body -> T time1 body
mapBodyL = forall body0 time0 body1 time1.
(T body0 time0 -> T body1 time1) -> T time0 body0 -> T time1 body1
BodyTimePriv.lift forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a b0 b1. (a -> a, T a b0 -> T a b1) -> T a b0 -> T a b1
Mixed.mapFirstL forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall b c a. (b -> c) -> (a, b) -> (a, c)
mapSnd forall time0 body0 time1 body1.
(T time0 body0 -> T time1 body1) -> T body0 time0 -> T body1 time1
TimeTimePriv.unlift
mapBodyHead ::
(body -> body) ->
BodyTimeList.T time body -> BodyTimeList.T time body
mapBodyHead :: forall body time. (body -> body) -> T time body -> T time body
mapBodyHead = forall body0 time0 body1 time1.
(T body0 time0 -> T body1 time1) -> T time0 body0 -> T time1 body1
BodyTimePriv.lift forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a b. (a -> a) -> T a b -> T a b
Mixed.mapFirstHead
mapBodyTail ::
(TimeTimeList.T time0 body -> TimeTimeList.T time1 body) ->
BodyTimeList.T time0 body -> BodyTimeList.T time1 body
mapBodyTail :: forall time0 body time1.
(T time0 body -> T time1 body) -> T time0 body -> T time1 body
mapBodyTail = forall body0 time0 body1 time1.
(T body0 time0 -> T body1 time1) -> T time0 body0 -> T time1 body1
BodyTimePriv.lift forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a b0 b1. (T a b0 -> T a b1) -> T a b0 -> T a b1
Mixed.mapFirstTail forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall time0 body0 time1 body1.
(T time0 body0 -> T time1 body1) -> T body0 time0 -> T body1 time1
TimeTimePriv.unlift