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

Safe HaskellNone
LanguageHaskell2010

FRP.Rhine.Clock.Step

Synopsis

Documentation

data Step n where Source #

A pure (side effect free) clock ticking at multiples of n. The tick rate is in the type signature, which prevents composition of signals at different rates.

Constructors

Step :: KnownNat n => Step n 

Instances

Monad m => Clock m (Step n) Source # 

Associated Types

type TimeDomainOf (Step n) :: * Source #

type Tag (Step n) :: * Source #

Methods

startClock :: Step n -> m (MSF m () (TimeDomainOf (Step n), Tag (Step n)), TimeDomainOf (Step n)) Source #

type TimeDomainOf (Step n) Source # 
type Tag (Step n) Source # 
type Tag (Step n) = ()

stepsize :: Step n -> Integer Source #

Extract the type-level natural number as an integer.

scheduleStep :: Monad m => Schedule m (Step n1) (Step n2) Source #

Two Step clocks can always be scheduled without side effects.