| ||||||||||||||||||||||
| ||||||||||||||||||||||
| 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 | ||||||||||||||||||||||