midair-0.1.0.2: Hot-swappable FRP

Safe HaskellSafe
LanguageHaskell2010

Midair.Core

Synopsis

Documentation

data SFlow a c Source

Signal flow

Takes a value of type a and returns one of type c

sMap :: (a -> c) -> SFlow a c Source

sFold :: c -> (a -> c -> c) -> SFlow a c Source

sCompose :: SFlow b c -> SFlow a b -> SFlow a c Source

sMapMaybe :: state -> (update -> Maybe state) -> SFlow update state Source

sJoin :: SFlow a b -> SFlow a c -> SFlow a (b, c) Source

sFilter :: (b -> Bool) -> SFlow b (Maybe b) Source

sFilterWDefault :: (b -> Bool) -> b -> SFlow b b Source

mkNodeRef :: SFlow i o -> IO (SFlow i o) Source

hotSwap :: SFlow a c -> SFlow a c -> IO () Source

hotSwapSTM :: SFlow a c -> SFlow a c -> STM () Source

fireGraph :: TVar (SFlow a c) -> a -> STM c Source

Given a node in the graph, and an input to that node, return the output of that node and the "new node" with updated state

fireGraphIO :: TVar (SFlow a c) -> a -> IO c Source