moffy-0.1.1.0: Monadic Functional Reactive Programming
Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Moffy.Internal.Sig.Type

Synopsis

Type

newtype Sig s es a r Source #

Constructors

Sig 

Fields

Instances

Instances details
((es :+: es) ~ es, Mergeable es es es, Monoid r) => Applicative (Flip (Sig s es) r) Source # 
Instance details

Defined in Control.Moffy.Internal.Sig

Methods

pure :: a -> Flip (Sig s es) r a #

(<*>) :: Flip (Sig s es) r (a -> b) -> Flip (Sig s es) r a -> Flip (Sig s es) r b #

liftA2 :: (a -> b -> c) -> Flip (Sig s es) r a -> Flip (Sig s es) r b -> Flip (Sig s es) r c #

(*>) :: Flip (Sig s es) r a -> Flip (Sig s es) r b -> Flip (Sig s es) r b #

(<*) :: Flip (Sig s es) r a -> Flip (Sig s es) r b -> Flip (Sig s es) r a #

Functor (Flip (Sig s es) r) Source # 
Instance details

Defined in Control.Moffy.Internal.Sig.Type

Methods

fmap :: (a -> b) -> Flip (Sig s es) r a -> Flip (Sig s es) r b #

(<$) :: a -> Flip (Sig s es) r b -> Flip (Sig s es) r a #

Applicative (Sig s es a) Source # 
Instance details

Defined in Control.Moffy.Internal.Sig.Type

Methods

pure :: a0 -> Sig s es a a0 #

(<*>) :: Sig s es a (a0 -> b) -> Sig s es a a0 -> Sig s es a b #

liftA2 :: (a0 -> b -> c) -> Sig s es a a0 -> Sig s es a b -> Sig s es a c #

(*>) :: Sig s es a a0 -> Sig s es a b -> Sig s es a b #

(<*) :: Sig s es a a0 -> Sig s es a b -> Sig s es a a0 #

Functor (Sig s es a) Source # 
Instance details

Defined in Control.Moffy.Internal.Sig.Type

Methods

fmap :: (a0 -> b) -> Sig s es a a0 -> Sig s es a b #

(<$) :: a0 -> Sig s es a b -> Sig s es a a0 #

Monad (Sig s es a) Source # 
Instance details

Defined in Control.Moffy.Internal.Sig.Type

Methods

(>>=) :: Sig s es a a0 -> (a0 -> Sig s es a b) -> Sig s es a b #

(>>) :: Sig s es a a0 -> Sig s es a b -> Sig s es a b #

return :: a0 -> Sig s es a a0 #

data ISig s es a r Source #

Constructors

End r 
a :| (Sig s es a r) infixr 5 

Instances

Instances details
((es :+: es) ~ es, Mergeable es es es, Semigroup r) => Applicative (Flip (ISig s es) r) Source # 
Instance details

Defined in Control.Moffy.Internal.Sig

Methods

pure :: a -> Flip (ISig s es) r a #

(<*>) :: Flip (ISig s es) r (a -> b) -> Flip (ISig s es) r a -> Flip (ISig s es) r b #

liftA2 :: (a -> b -> c) -> Flip (ISig s es) r a -> Flip (ISig s es) r b -> Flip (ISig s es) r c #

(*>) :: Flip (ISig s es) r a -> Flip (ISig s es) r b -> Flip (ISig s es) r b #

(<*) :: Flip (ISig s es) r a -> Flip (ISig s es) r b -> Flip (ISig s es) r a #

Functor (Flip (ISig s es) r) Source # 
Instance details

Defined in Control.Moffy.Internal.Sig.Type

Methods

fmap :: (a -> b) -> Flip (ISig s es) r a -> Flip (ISig s es) r b #

(<$) :: a -> Flip (ISig s es) r b -> Flip (ISig s es) r a #

Applicative (ISig s es a) Source # 
Instance details

Defined in Control.Moffy.Internal.Sig.Type

Methods

pure :: a0 -> ISig s es a a0 #

(<*>) :: ISig s es a (a0 -> b) -> ISig s es a a0 -> ISig s es a b #

liftA2 :: (a0 -> b -> c) -> ISig s es a a0 -> ISig s es a b -> ISig s es a c #

(*>) :: ISig s es a a0 -> ISig s es a b -> ISig s es a b #

(<*) :: ISig s es a a0 -> ISig s es a b -> ISig s es a a0 #

Functor (ISig s es a) Source # 
Instance details

Defined in Control.Moffy.Internal.Sig.Type

Methods

fmap :: (a0 -> b) -> ISig s es a a0 -> ISig s es a b #

(<$) :: a0 -> ISig s es a b -> ISig s es a a0 #

Monad (ISig s es a) Source # 
Instance details

Defined in Control.Moffy.Internal.Sig.Type

Methods

(>>=) :: ISig s es a a0 -> (a0 -> ISig s es a b) -> ISig s es a b #

(>>) :: ISig s es a a0 -> ISig s es a b -> ISig s es a b #

return :: a0 -> ISig s es a a0 #

isig :: (r -> b) -> (a -> Sig s es a r -> b) -> ISig s es a r -> b Source #

Function

Basic

emit :: a -> Sig s es a () Source #

emitAll :: ISig s es a r -> Sig s es a r Source #

waitFor :: React s es r -> Sig s es a r Source #

res :: Sig s es a r -> React s es r Source #

ires :: ISig s es a r -> React s es r Source #

hold :: Sig s es a r Source #

Practical

repeat :: React s es a -> Sig s es a r Source #

find :: (a -> Bool) -> Sig s es a r -> React s es (Either a r) Source #

scanl :: (b -> a -> b) -> b -> Sig s es a r -> Sig s es b r Source #