Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Control.Moffy
Synopsis
- data Sig s es a r
- data ISig s es a r
- type React s es = Freer s FTCQueue TaggableFun (Rct es)
- data Rct es r
- type EvReqs (es :: Set Type) = OneOrMore es
- type EvOccs (es :: Set Type) = OneOrMoreApp (Occurred :$: es)
- class (Numbered e, Selectable e) => Request e where
- data Occurred e
- type Firstable es es' a b = (Updatable a b, Adjustable es (es :+: es'), Adjustable es' (es :+: es'), ((es :+: es') :+: (es :+: es')) ~ (es :+: es'), Mergeable (es :+: es') (es :+: es') (es :+: es'))
- class Adjustable es es'
- await :: e -> (Occurred e -> r) -> React s (Singleton e) r
- adjust :: Adjustable es es' => React s es a -> React s es' a
- adjustSig :: Adjustable es es' => Sig s es a r -> Sig s es' a r
- never :: React s es a
- emit :: a -> Sig s es a ()
- waitFor :: React s es r -> Sig s es a r
- repeat :: React s es a -> Sig s es a r
- find :: (a -> Bool) -> Sig s es a r -> React s es (Either a r)
- scanl :: (b -> a -> b) -> b -> Sig s es a r -> Sig s es b r
- first :: Firstable es es' a b => React s es a -> React s es' b -> React s (es :+: es') (Or a b)
- at :: Firstable es es' (ISig s (es :+: es') a r) r' => Sig s es a r -> React s es' r' -> React s (es :+: es') (Either r (Maybe a, r'))
- atResult :: (r -> String) -> (r' -> String) -> Either r (Maybe a, r') -> Either String a
- break :: Firstable es es' (ISig s (es :+: es') a r) r' => Sig s es a r -> React s es' r' -> Sig s (es :+: es') a (Either r (Maybe a, r'))
- until :: Firstable es es' (ISig s (es :+: es') a r) r' => Sig s es a r -> React s es' r' -> Sig s (es :+: es') a (Either r (a, r'))
- indexBy :: Firstable es es' (ISig s (es :+: es') a r) (ISig s (es :+: es') b r') => Sig s es a r -> Sig s es' b r' -> Sig s (es :+: es') (a, b) (Either r (Maybe a, r'))
- spawn :: Sig s es a r -> Sig s es (ISig s es a r) r'
- parList :: ((es :+: es) ~ es, Mergeable es es es) => Sig s es (ISig s es a r) r' -> Sig s es [a] ([r], r')
Sig
Instances
((es :+: es) ~ es, Mergeable es es es, Monoid r) => Applicative (Flip (Sig s es) r) Source # | |
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 # | |
Applicative (Sig s es a) Source # | |
Defined in Control.Moffy.Internal.Sig.Type | |
Functor (Sig s es a) Source # | |
Monad (Sig s es a) Source # | |
Instances
((es :+: es) ~ es, Mergeable es es es, Semigroup r) => Applicative (Flip (ISig s es) r) Source # | |
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 # | |
Applicative (ISig s es a) Source # | |
Defined in Control.Moffy.Internal.Sig.Type | |
Functor (ISig s es a) Source # | |
Monad (ISig s es a) Source # | |
React
class (Numbered e, Selectable e) => Request e Source #
Instances
Request GetLock Source # | |
Defined in Control.Moffy.Event.Lock.Internal | |
Request NewLockId Source # | |
Defined in Control.Moffy.Event.Lock.Internal | |
Request Unlock Source # | |
Defined in Control.Moffy.Event.Lock.Internal | |
Request GetThreadId Source # | |
Defined in Control.Moffy.Event.ThreadId Associated Types data Occurred GetThreadId Source # | |
Request DeltaTime Source # | |
Defined in Control.Moffy.Event.Time | |
Request TryWait Source # | |
Defined in Control.Moffy.Event.Time |
Constraint
type Firstable es es' a b = (Updatable a b, Adjustable es (es :+: es'), Adjustable es' (es :+: es'), ((es :+: es') :+: (es :+: es')) ~ (es :+: es'), Mergeable (es :+: es') (es :+: es') (es :+: es')) Source #
class Adjustable es es' Source #
Minimal complete definition
Instances
Adjustable es es Source # | |
(Expandable es es', CollapsableOccurred es' es) => Adjustable es es' Source # | |
Combinator
Await and Adjust
Create Sig
Traverse
Parallel
first :: Firstable es es' a b => React s es a -> React s es' b -> React s (es :+: es') (Or a b) infixr 8 Source #
at :: Firstable es es' (ISig s (es :+: es') a r) r' => Sig s es a r -> React s es' r' -> React s (es :+: es') (Either r (Maybe a, r')) infixr 7 Source #
break :: Firstable es es' (ISig s (es :+: es') a r) r' => Sig s es a r -> React s es' r' -> Sig s (es :+: es') a (Either r (Maybe a, r')) infixl 7 Source #
until :: Firstable es es' (ISig s (es :+: es') a r) r' => Sig s es a r -> React s es' r' -> Sig s (es :+: es') a (Either r (a, r')) infixl 7 Source #
indexBy :: Firstable es es' (ISig s (es :+: es') a r) (ISig s (es :+: es') b r') => Sig s es a r -> Sig s es' b r' -> Sig s (es :+: es') (a, b) (Either r (Maybe a, r')) infixl 7 Source #