gore-and-ash-actor-1.2.2.0: Gore&Ash engine extension that implements actor style of programming

Copyright(c) Anton Gushcha, 2015-2016
LicenseBSD3
Maintainerncrashed@gmail.com
Stabilityexperimental
PortabilityPOSIX
Safe HaskellNone
LanguageHaskell2010

Game.GoreAndAsh.Actor.Collection.Data

Description

 

Synopsis

Documentation

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.

Associated Types

type DynConsConstr c o :: Constraint Source #

Instance specific constraint for appending function

Methods

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

Instances

DynCollection [] Source # 

Associated Types

type DynConsConstr ([] :: * -> *) o :: Constraint Source #

Methods

concatDynColl :: [a] -> [a] -> [a] Source #

unzipDynColl :: [(a, b)] -> ([a], [b]) Source #

zipDynColl :: [a] -> [b] -> [(a, b)] Source #

emptyDynColl :: [a] Source #

consDynColl :: DynConsConstr [] a => a -> [a] -> [a] Source #

DynCollection Seq Source # 

Associated Types

type DynConsConstr (Seq :: * -> *) o :: Constraint Source #

Methods

concatDynColl :: Seq a -> Seq a -> Seq a Source #

unzipDynColl :: Seq (a, b) -> (Seq a, Seq b) Source #

zipDynColl :: Seq a -> Seq b -> Seq (a, b) Source #

emptyDynColl :: Seq a Source #

consDynColl :: DynConsConstr Seq a => a -> Seq a -> Seq a Source #

(Eq k, Hashable k) => DynCollection (HashMap k) Source #

Order of elements is not preserved

Associated Types

type DynConsConstr (HashMap k :: * -> *) o :: Constraint Source #

Methods

concatDynColl :: HashMap k a -> HashMap k a -> HashMap k a Source #

unzipDynColl :: HashMap k (a, b) -> (HashMap k a, HashMap k b) Source #

zipDynColl :: HashMap k a -> HashMap k b -> HashMap k (a, b) Source #

emptyDynColl :: HashMap k a Source #

consDynColl :: DynConsConstr (HashMap k) a => a -> HashMap k a -> HashMap k a Source #

class (Hashable i, Eq i) => ElementWithId a i where Source #

Elements that contains id

Minimal complete definition

elementId

Methods

elementId :: a -> i Source #

rightsDynColl :: (FilterConstraint c (Either e a), DynCollection c) => c (Either e a) -> c a Source #

Helper to filter out lefts