rsagl- The RogueStar Animation and Graphics Library

Safe HaskellSafe-Infered



A model of the types used by an FRP program.



data Enabled Source


Capability Enabled 

data Disabled Source


Capability Disabled 

class RSAGL_FRP_FRPMODEL a => Capability a Source

class (RSAGL_FRP_FRPMODEL frp, Eq (ThreadIDOf frp)) => FRPModel frp Source

Associated Types

type ThreadingOf frp :: *Source

The threading capability, either Enabled or Disabled.

type ThreadIDOf frp :: *Source

The a type of the thread ID (for example, a unique integer).

type StateOf frp :: *Source

The ArrowState type.

type SwitchInputOf frp :: *Source

The type of the switch input (used in switchTerminate/switchContinue, etc)

type SwitchOutputOf frp :: *Source

The type of the switch output (used in switchTerminate/switchContinue, etc)

type Unwrap frp :: *Source

Unwrap to get the nested Switch type.


FRPModel () 
(RSAGL_FRP_FRPMODEL m, Eq t, Capability k) => FRPModel (Switch k t s i o m) 

type FRP1 s i o = Switch Disabled () s i o ()Source

type FRPX t s i o = FRPContext t i o (FRP1 s i [(t, o)])Source

type FRPContext t i o m = Switch Enabled t (SubState (StateOf m)) i o mSource

data Switch k t s i o m Source

The FRPModel type that represents a switch. Consists of the following type variables.

Note: Don't pattern-match against this type directly, as it is a volatile interface. Either use a type synonym, such as SimpleSwitch, or match against the type functions in FRPModel.

  • k - See, ThreadingOf. * t - See, ThreadIDOf. * s - See, StateOf. * i - See, SwitchInputOf. * o - See, SwitchOutputOf. * m - A variable that represents switch nesting.


(RSAGL_FRP_FRPMODEL m, Eq t, Capability k) => FRPModel (Switch k t s i o m) 
(RSAGL_FRP_FRPMODEL m, Capability k) => RSAGL_FRP_FRPMODEL (Switch k t s i o m) 

type SimpleSwitch k t s i o m = Switch k t s i o mSource