| ||||||||||||||||||||||
| ||||||||||||||||||||||
Description | ||||||||||||||||||||||
Imperative programmer's Pragmatic FRP (Functional Rocket Programming) system. | ||||||||||||||||||||||
Synopsis | ||||||||||||||||||||||
Documentation | ||||||||||||||||||||||
force :: NFData a => a -> a | ||||||||||||||||||||||
type Action = IO () | ||||||||||||||||||||||
type Time = Double | ||||||||||||||||||||||
bigbang :: Time | ||||||||||||||||||||||
data Void | ||||||||||||||||||||||
void :: Void | ||||||||||||||||||||||
type StateVar a = MVar a | ||||||||||||||||||||||
newStateVar :: a -> IO (StateVar a) | ||||||||||||||||||||||
readStateVar :: StateVar a -> IO a | ||||||||||||||||||||||
takeStateVar :: StateVar a -> IO a | ||||||||||||||||||||||
putStateVar :: StateVar a -> a -> IO () | ||||||||||||||||||||||
data Event a | ||||||||||||||||||||||
| ||||||||||||||||||||||
data Reactive a | ||||||||||||||||||||||
| ||||||||||||||||||||||
data UPNode a | ||||||||||||||||||||||
| ||||||||||||||||||||||
data XPNode | ||||||||||||||||||||||
| ||||||||||||||||||||||
data YPNode | ||||||||||||||||||||||
| ||||||||||||||||||||||
data Mode | ||||||||||||||||||||||
| ||||||||||||||||||||||
ypnodeLabel :: YPNode -> (Unique, Mode) | ||||||||||||||||||||||
upnodeLabel :: UPNode a -> Unique | ||||||||||||||||||||||
upnodeToYPNode :: UPNode a -> YPNode | ||||||||||||||||||||||
xpnodeLinks :: XPNode -> [YPNode] | ||||||||||||||||||||||
xpnodeLabel :: XPNode -> Unique | ||||||||||||||||||||||
unode :: Event a -> UPNode a | ||||||||||||||||||||||
push :: Reactive a -> UPNode a | ||||||||||||||||||||||
pull1 :: Reactive a -> UPNode a | ||||||||||||||||||||||
type CBID = String | ||||||||||||||||||||||
data NodeFun' u s a | ||||||||||||||||||||||
| ||||||||||||||||||||||
mapNodeFun :: (forall b. u b -> v b) -> NodeFun' u s a -> NodeFun' v s a | ||||||||||||||||||||||
nodeFunLinks :: (forall b. u b -> v) -> NodeFun' u s a -> [v] | ||||||||||||||||||||||
type PNodeFun s a = NodeFun' UPNode s a | ||||||||||||||||||||||
type DNodeFun s a = NodeFun' UDNode s a | ||||||||||||||||||||||
type Dot = String | ||||||||||||||||||||||
eventGraphviz :: Event a -> Dot | ||||||||||||||||||||||
pnodeGraphviz :: XPNode -> Dot | ||||||||||||||||||||||
dnodeGraphviz :: Map Unique XDNode -> Dot | ||||||||||||||||||||||
data PNode s a | ||||||||||||||||||||||
| ||||||||||||||||||||||
pnode :: (s, a) -> PNodeFun s a -> PNode s a | ||||||||||||||||||||||
newEvent :: s -> PNodeFun s a -> Event a | ||||||||||||||||||||||
newReactive :: (s, a) -> PNodeFun s a -> Reactive a | ||||||||||||||||||||||
reactiveInitValue :: Reactive a -> a | ||||||||||||||||||||||
dummyVar :: MVar a | ||||||||||||||||||||||
writeDummy :: a -> IO () | ||||||||||||||||||||||
newtype Unique | ||||||||||||||||||||||
| ||||||||||||||||||||||
uniqueSupply :: MVar Unique | ||||||||||||||||||||||
uniqueSet :: MVar (Set Unique) | ||||||||||||||||||||||
newUnique :: a -> IO Unique | ||||||||||||||||||||||
data UDNode a | ||||||||||||||||||||||
| ||||||||||||||||||||||
data XDNode | ||||||||||||||||||||||
| ||||||||||||||||||||||
data YDNode | ||||||||||||||||||||||
| ||||||||||||||||||||||
withModeD :: XDNode -> Mode -> YDNode | ||||||||||||||||||||||
forgetModeP :: YPNode -> XPNode | ||||||||||||||||||||||
data DNode s a | ||||||||||||||||||||||
| ||||||||||||||||||||||
dnodeBackward :: DNode s a -> [XDNode] | ||||||||||||||||||||||
xpnodeTable :: XPNode -> Map Unique XPNode | ||||||||||||||||||||||
xdnodeTable :: XPNode -> Map Unique XDNode | ||||||||||||||||||||||
evalFRP | ||||||||||||||||||||||
| ||||||||||||||||||||||
readDNodeLast :: DNode s a -> IO a | ||||||||||||||||||||||
writeDNodeLast :: DNode s a -> Time -> a -> IO () | ||||||||||||||||||||||
readUDNodeLast :: UDNode a -> IO a | ||||||||||||||||||||||
updateDNode :: Time -> Unique -> DNode s a -> IO Bool | ||||||||||||||||||||||
xdnodeForward :: XDNode -> [YDNode] | ||||||||||||||||||||||
xdnodeLabel :: XDNode -> Unique | ||||||||||||||||||||||
unsafeSetValueAndExecute :: Map Unique XDNode -> Action -> [Unique] -> XDNode -> Time -> a -> IO () | ||||||||||||||||||||||
propagateChanges :: Time -> Map Unique [Action] -> XDNode -> IO (Map Unique [Action]) | ||||||||||||||||||||||
Produced by Haddock version 2.4.1 |