| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
FRP.Rhine.Clock.Proxy
Synopsis
- data ClockProxy cl where
- LeafProxy :: (cl ~ In cl, cl ~ Out cl) => ClockProxy cl
- SequentialProxy :: ClockProxy cl1 -> ClockProxy cl2 -> ClockProxy (SequentialClock m cl1 cl2)
- ParallelProxy :: ClockProxy clL -> ClockProxy clR -> ClockProxy (ParallelClock m clL clR)
- inProxy :: ClockProxy cl -> ClockProxy (In cl)
- outProxy :: ClockProxy cl -> ClockProxy (Out cl)
- inTag :: ClockProxy cl -> Tag cl -> Maybe (Tag (In cl))
- outTag :: ClockProxy cl -> Tag cl -> Maybe (Tag (Out cl))
- class GetClockProxy cl where
- getClockProxy :: ClockProxy cl
- class ToClockProxy a where
- type Cl a :: Type
- toClockProxy :: a -> ClockProxy (Cl a)
Documentation
data ClockProxy cl where Source #
Witnesses the structure of a clock type,
in particular whether SequentialClocks or ParallelClocks are involved.
Constructors
| LeafProxy :: (cl ~ In cl, cl ~ Out cl) => ClockProxy cl | |
| SequentialProxy :: ClockProxy cl1 -> ClockProxy cl2 -> ClockProxy (SequentialClock m cl1 cl2) | |
| ParallelProxy :: ClockProxy clL -> ClockProxy clR -> ClockProxy (ParallelClock m clL clR) |
inProxy :: ClockProxy cl -> ClockProxy (In cl) Source #
outProxy :: ClockProxy cl -> ClockProxy (Out cl) Source #
inTag :: ClockProxy cl -> Tag cl -> Maybe (Tag (In cl)) Source #
Return the incoming tag, assuming that the incoming clock is ticked,
and Nothing otherwise.
outTag :: ClockProxy cl -> Tag cl -> Maybe (Tag (Out cl)) Source #
Return the incoming tag, assuming that the outgoing clock is ticked,
and Nothing otherwise.
class GetClockProxy cl where Source #
Clocks should be able to automatically generate a proxy for themselves.
Minimal complete definition
Nothing
Methods
getClockProxy :: ClockProxy cl Source #
default getClockProxy :: (cl ~ In cl, cl ~ Out cl) => ClockProxy cl Source #
Instances
class ToClockProxy a where Source #
Extract a clock proxy from a type.
Minimal complete definition
Nothing
Methods
toClockProxy :: a -> ClockProxy (Cl a) Source #
default toClockProxy :: GetClockProxy (Cl a) => a -> ClockProxy (Cl a) Source #
Instances
| GetClockProxy cl => ToClockProxy (SN m cl a b) Source # | |
Defined in FRP.Rhine.SN Methods toClockProxy :: SN m cl a b -> ClockProxy (Cl (SN m cl a b)) Source # | |
| GetClockProxy cl => ToClockProxy (Rhine m cl a b) Source # | |
Defined in FRP.Rhine.Type Methods toClockProxy :: Rhine m cl a b -> ClockProxy (Cl (Rhine m cl a b)) Source # | |