gore-and-ash-1.2.2.0: Core of FRP game engine called Gore&Ash

Copyright(c) 2013 Ertugrul Soeylemez
LicenseBSD3
MaintainerErtugrul Soeylemez <es@ertes.de>
Safe HaskellNone
LanguageHaskell2010

Control.Wire

Contents

Description

 

Synopsis

Reexports

Convenient type aliases

type WireP s e = Wire s e Identity Source

Pure wires.

type SimpleWire = Wire (Timed NominalDiffTime ()) () Identity Source

Simple wires with time.

External

newtype Identity a :: * -> *

Identity functor and monad. (a non-strict monad)

Since: 4.8.0.0

Constructors

Identity 

Fields

runIdentity :: a
 

Instances

Monad Identity 
Functor Identity 
MonadFix Identity 
Applicative Identity 
Foldable Identity 
Traversable Identity 
Generic1 Identity 
MonadZip Identity 
Eq1 Identity 
Ord1 Identity 
Read1 Identity 
Show1 Identity 
Additive Identity 
R1 Identity 
Representable Identity 
Comonad Identity 
ComonadApply Identity 
GameModule Identity IdentityState Source

Module stack that does only pure actions in its first phase.

Could be used in ModuleStack as end monad:

type AppStack = ModuleStack [LoggingT, ActorT] Identity
Cosieve ReifiedGetter Identity 
Sieve ReifiedGetter Identity 
Eq a => Eq (Identity a) 
Data a => Data (Identity a) 
Ord a => Ord (Identity a) 
Read a => Read (Identity a)

This instance would be equivalent to the derived instances of the Identity newtype if the runIdentity field were removed

Show a => Show (Identity a)

This instance would be equivalent to the derived instances of the Identity newtype if the runIdentity field were removed

Generic (Identity a) 
NFData a => NFData (Identity a)

Since: 1.4.0.0

Semigroup a => Semigroup (Identity a) 
Ixed (Identity a) 
Wrapped (Identity a) 
(~) * t (Identity b) => Rewrapped (Identity a) t 
Field1 (Identity a) (Identity b) a b 
type Rep1 Identity = D1 D1Identity (C1 C1_0Identity (S1 S1_0_0Identity Par1)) 
type ModuleState Identity = IdentityState Source 
type Rep Identity = () 
type Rep (Identity a) = D1 D1Identity (C1 C1_0Identity (S1 S1_0_0Identity (Rec0 a))) 
type IxValue (Identity a) = a 
type Index (Identity a) = () 
type Unwrapped (Identity a) = a 

data NominalDiffTime :: *

This is a length of time, as measured by UTC. Conversion functions will treat it as seconds. It has a precision of 10^-12 s. It ignores leap-seconds, so it's not necessarily a fixed amount of clock time. For instance, 23:00 UTC + 2 hours of NominalDiffTime = 01:00 UTC (+ 1 day), regardless of whether a leap-second intervened.