Copyright | (c) Anton Gushcha, 2015-2016 |
---|---|
License | BSD3 |
Maintainer | ncrashed@gmail.com |
Stability | experimental |
Portability | POSIX |
Safe Haskell | None |
Language | Haskell2010 |
- dynCollection :: forall m i a b c c2. (ActorMonad m, Eq i, DynCollection c, FilterConstraint c (GameWireIndexed m i a b), FilterConstraint c (Either () b), Foldable c2) => c (GameActor m i a b) -> GameWire m (a, Event (c (GameActor m i a b)), Event (c2 i)) (c b)
- dDynCollection :: forall m i a b c c2. (ActorMonad m, Eq i, DynCollection c, FilterConstraint c (GameWireIndexed m i a b), FilterConstraint c (Either () b), Foldable c2) => c (GameActor m i a b) -> GameWire m (a, Event (c (GameActor m i a b)), Event (c2 i)) (c b)
- class (Filterable c, Foldable c, Functor c, Traversable c) => DynCollection c where
- type DynConsConstr c o :: Constraint
Documentation
:: (ActorMonad m, Eq i, DynCollection c, FilterConstraint c (GameWireIndexed m i a b), FilterConstraint c (Either () b), Foldable c2) | |
=> c (GameActor m i a b) | Inital set of wires |
-> GameWire m (a, Event (c (GameActor m i a b)), Event (c2 i)) (c b) |
Makes dynamic collection of wires.
- First input of wire is input for each inner wire.
- Second input is event for adding several wires to collection.
- Third input is event for removing several wires from collection.
- Wire returns list of outputs of inner wires.
Note: if ihibits one of the wires, it is removed from output result during its inhibition
:: (ActorMonad m, Eq i, DynCollection c, FilterConstraint c (GameWireIndexed m i a b), FilterConstraint c (Either () b), Foldable c2) | |
=> c (GameActor m i a b) | Inital set of wires |
-> GameWire m (a, Event (c (GameActor m i a b)), Event (c2 i)) (c b) |
Makes dynamic collection of wires.
- First input of wire is input for each inner wire.
- Second input is event for adding several wires to collection.
- Third input is event for removing several wires from collection.
- Wire returns list of outputs of inner wires.
Note: it is delayed version of dynCollection, removing and adding of agents performs on next step after current.
Note: if ihibits one of the wires, it is removed from output result while it inhibits.
class (Filterable c, Foldable c, Functor c, Traversable c) => DynCollection c where Source #
Dynamic collection for control wire that automates handling collections of FRP actors. The class defines minimum set of actions that collection should support to be used as base for collection of actors.
type DynConsConstr c o :: Constraint Source #
Instance specific constraint for appending function
concatDynColl :: c a -> c a -> c a Source #
Concat of two collections
unzipDynColl :: c (a, b) -> (c a, c b) Source #
Unzipping of collection
zipDynColl :: c a -> c b -> c (a, b) Source #
Ziping collection
emptyDynColl :: c a Source #
Getting empty collection
consDynColl :: DynConsConstr c a => a -> c a -> c a Source #
Adding element to the begining of collection
DynCollection [] Source # | |
DynCollection Seq Source # | |
(Eq k, Hashable k) => DynCollection (HashMap k) Source # | Order of elements is not preserved |