timeless-0.9.0.1: An Arrow based Functional Reactive Programming library

Copyright(c) 2015 Rongcui Dong
LicenseBSD3
MaintainerRongcui Dong <karl_1702@188.com>
Safe HaskellNone
LanguageHaskell2010

FRP.Timeless.Prefab.Processing

Description

 

Synopsis

Documentation

sample :: Monad m => Signal s m (Bool, a) a Source #

Takes a sample of second input when the first input becomes True. First snapshot taken at local time 0, i.e. on construction

snapshot :: Monad m => Signal s m (Bool, a) a Source #

Alias for sample. Snapshot sounds more discrete

integrateM Source #

Arguments

:: (Monad m, Monoid b, HasTime t s) 
=> b

Initial state

-> (s -> a -> b)

The model, such as dX. s is delta session

-> Signal s m a b 

Make an integration signal from a function that models the chage

integrate Source #

Arguments

:: (Monad m, Num a, HasTime t s) 
=> a

Initial state

-> (s -> a -> a)

The model

-> Signal s m a a 

A numerical integration signal.

wait :: (HasTime t s, Monad m) => Double -> Signal s m a a Source #

Acts as an identity signal for a certain time, then inhibits

waitWith :: (HasTime t s, Monad m) => b -> Double -> Signal s m a b Source #

Wait with a constant output

(<=>) :: Monad m => Maybe b -> Maybe b -> Signal s m Bool b infix 3 Source #

A signal that outputs left side when input is True, and right side when input is False

unless' Source #

Arguments

:: Monad m 
=> (a -> Bool)

Inhibit condition

-> Signal s m a a 

A signal that acts like identity but inhibits when input satisfies condition.

when' Source #

Arguments

:: Monad m 
=> (a -> Bool)

Activate condition

-> Signal s m a a 

A signal that inhibits but acts like identity when input satisfies condition.