netwire-1.0.0: Arrowized FRP implementation

MaintainerErtugrul Soeylemez <es@ertes.de>

FRP.NetWire

Contents

Description

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.

Synopsis

Wires

data Wire a b Source

A wire is a network of signal transformers.

type Time = DoubleSource

Time.

type DTime = DoubleSource

Derivative of time. In English: It's the time between two instants of an FRP session.

type Event = MaybeSource

Events are signals, which can be absent. They usually denote discrete occurences of certain events.

Reactive sessions

data Session a b Source

Reactive sessions with the given time type.

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