Maintainer | Ertugrul Soeylemez <es@ertes.de> |
---|
Arrowized FRP implementation for networking applications. The aim of this library is to provide a convenient FRP implementation, which should enable you to write entirely pure network sessions.
- data Wire a b
- type Time = Double
- type DTime = Double
- type Event = Maybe
- data Session a b
- stepWire :: a -> Session a b -> IO (Maybe b)
- stepWireDelta :: NominalDiffTime -> a -> Session a b -> IO (Maybe b)
- stepWireTime :: UTCTime -> a -> Session a b -> IO (Maybe b)
- withWire :: Wire a b -> (Session a b -> IO c) -> IO c
- module FRP.NetWire.Analyze
- module FRP.NetWire.Calculus
- module FRP.NetWire.Event
- module FRP.NetWire.IO
- module FRP.NetWire.Random
- module FRP.NetWire.Request
- module FRP.NetWire.Switch
- module FRP.NetWire.Tools
Wires
A wire is a network of signal transformers.
Derivative of time. In English: It's the time between two instants of an FRP session.
Events are signals, which can be absent. They usually denote discrete occurences of certain events.
Reactive sessions
stepWire :: a -> Session a b -> IO (Maybe b)Source
Feed the given input value into the reactive system performing the next instant using real time.
stepWireDelta :: NominalDiffTime -> a -> Session a b -> IO (Maybe b)Source
Feed the given input value into the reactive system performing the next instant using the given time delta.
stepWireTime :: UTCTime -> a -> Session a b -> IO (Maybe b)Source
Feed the given input value into the reactive system performing the next instant, which is at the given time. This function is thread-safe.
withWire :: Wire a b -> (Session a b -> IO c) -> IO cSource
Initialize a reactive session and pass it to the given continuation.
Reexports
module FRP.NetWire.Analyze
module FRP.NetWire.Calculus
module FRP.NetWire.Event
module FRP.NetWire.IO
module FRP.NetWire.Random
module FRP.NetWire.Request
module FRP.NetWire.Switch
module FRP.NetWire.Tools