rhine-0.6.0: Functional Reactive Programming with type-level clocks

Safe HaskellNone
LanguageHaskell2010

FRP.Rhine.TimeDomain

Description

This module defines the TimeDomain class. Its instances model time. Several instances such as UTCTime, Double and Integer are supplied here.

Synopsis

Documentation

newtype NumTimeDomain a Source #

Any Num can be wrapped to form a TimeDomain.

Constructors

NumTimeDomain 

Fields

class TimeDomain time where Source #

A time domain is an affine space representing a notion of time, such as real time, simulated time, steps, or a completely different notion.

Associated Types

type Diff time Source #

Methods

diffTime :: time -> time -> Diff time Source #

Instances
TimeDomain Double Source # 
Instance details

Defined in FRP.Rhine.TimeDomain

Associated Types

type Diff Double :: Type Source #

TimeDomain Float Source # 
Instance details

Defined in FRP.Rhine.TimeDomain

Associated Types

type Diff Float :: Type Source #

TimeDomain Integer Source # 
Instance details

Defined in FRP.Rhine.TimeDomain

Associated Types

type Diff Integer :: Type Source #

TimeDomain () Source # 
Instance details

Defined in FRP.Rhine.TimeDomain

Associated Types

type Diff () :: Type Source #

Methods

diffTime :: () -> () -> Diff () Source #

TimeDomain UTCTime Source # 
Instance details

Defined in FRP.Rhine.TimeDomain

Associated Types

type Diff UTCTime :: Type Source #

Num a => TimeDomain (NumTimeDomain a) Source # 
Instance details

Defined in FRP.Rhine.TimeDomain

Associated Types

type Diff (NumTimeDomain a) :: Type Source #

data UTCTime #

This is the simplest representation of UTC. It consists of the day number, and a time offset from midnight. Note that if a day has a leap second added to it, it will have 86401 seconds.

Instances
Eq UTCTime 
Instance details

Defined in Data.Time.Clock.Internal.UTCTime

Methods

(==) :: UTCTime -> UTCTime -> Bool #

(/=) :: UTCTime -> UTCTime -> Bool #

Data UTCTime 
Instance details

Defined in Data.Time.Clock.Internal.UTCTime

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UTCTime -> c UTCTime #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UTCTime #

toConstr :: UTCTime -> Constr #

dataTypeOf :: UTCTime -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UTCTime) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UTCTime) #

gmapT :: (forall b. Data b => b -> b) -> UTCTime -> UTCTime #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UTCTime -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UTCTime -> r #

gmapQ :: (forall d. Data d => d -> u) -> UTCTime -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> UTCTime -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> UTCTime -> m UTCTime #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UTCTime -> m UTCTime #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UTCTime -> m UTCTime #

Ord UTCTime 
Instance details

Defined in Data.Time.Clock.Internal.UTCTime

NFData UTCTime 
Instance details

Defined in Data.Time.Clock.Internal.UTCTime

Methods

rnf :: UTCTime -> () #

ParseTime UTCTime 
Instance details

Defined in Data.Time.Format.Parse

TimeDomain UTCTime Source # 
Instance details

Defined in FRP.Rhine.TimeDomain

Associated Types

type Diff UTCTime :: Type Source #

type Diff UTCTime Source # 
Instance details

Defined in FRP.Rhine.TimeDomain