reflex-0.5: Higher-order Functional Reactive Programming

Safe HaskellNone
LanguageHaskell98

Reflex.Query.Class

Synopsis

Documentation

class (Monoid (QueryResult a), Semigroup (QueryResult a)) => Query a where Source #

Associated Types

type QueryResult a :: * Source #

Methods

crop :: a -> QueryResult a -> QueryResult a Source #

Instances
(Ord k, Query v) => Query (MonoidalMap k v) Source # 
Instance details

Defined in Reflex.Query.Class

Associated Types

type QueryResult (MonoidalMap k v) :: Type Source #

data QueryMorphism q q' Source #

NB: QueryMorphism's must be group homomorphisms when acting on the query type and compatible with the query relationship when acting on the query result

Instances
Category QueryMorphism Source # 
Instance details

Defined in Reflex.Query.Class

Methods

id :: QueryMorphism a a #

(.) :: QueryMorphism b c -> QueryMorphism a b -> QueryMorphism a c #

newtype SelectedCount Source #

This type keeps track of the multiplicity of elements of the view selector that are being used by the app

Constructors

SelectedCount 

Fields

Instances
Bounded SelectedCount Source # 
Instance details

Defined in Reflex.Query.Class

Enum SelectedCount Source # 
Instance details

Defined in Reflex.Query.Class

Eq SelectedCount Source # 
Instance details

Defined in Reflex.Query.Class

Integral SelectedCount Source # 
Instance details

Defined in Reflex.Query.Class

Data SelectedCount Source # 
Instance details

Defined in Reflex.Query.Class

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SelectedCount -> c SelectedCount #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SelectedCount #

toConstr :: SelectedCount -> Constr #

dataTypeOf :: SelectedCount -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SelectedCount) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SelectedCount) #

gmapT :: (forall b. Data b => b -> b) -> SelectedCount -> SelectedCount #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SelectedCount -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SelectedCount -> r #

gmapQ :: (forall d. Data d => d -> u) -> SelectedCount -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SelectedCount -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SelectedCount -> m SelectedCount #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SelectedCount -> m SelectedCount #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SelectedCount -> m SelectedCount #

Num SelectedCount Source # 
Instance details

Defined in Reflex.Query.Class

Ord SelectedCount Source # 
Instance details

Defined in Reflex.Query.Class

Read SelectedCount Source # 
Instance details

Defined in Reflex.Query.Class

Real SelectedCount Source # 
Instance details

Defined in Reflex.Query.Class

Show SelectedCount Source # 
Instance details

Defined in Reflex.Query.Class

Ix SelectedCount Source # 
Instance details

Defined in Reflex.Query.Class

Semigroup SelectedCount Source # 
Instance details

Defined in Reflex.Query.Class

Monoid SelectedCount Source # 
Instance details

Defined in Reflex.Query.Class

Storable SelectedCount Source # 
Instance details

Defined in Reflex.Query.Class

Bits SelectedCount Source # 
Instance details

Defined in Reflex.Query.Class

FiniteBits SelectedCount Source # 
Instance details

Defined in Reflex.Query.Class

Additive SelectedCount Source # 
Instance details

Defined in Reflex.Query.Class

Group SelectedCount Source # 
Instance details

Defined in Reflex.Query.Class

combineSelectedCounts :: SelectedCount -> SelectedCount -> Maybe SelectedCount Source #

The SemigroupMonoidGroup instances for a ViewSelector should use this function which returns Nothing if the result is 0. This allows the pruning of leaves that are no longer wanted.

class (Group q, Additive q, Query q) => MonadQuery t q m | m -> q t where Source #

Instances
(Monad m, MonadQuery t q m) => MonadQuery t q (ReaderT r m) Source # 
Instance details

Defined in Reflex.Query.Class

(MonadQuery t q m, Monad m) => MonadQuery t q (EventWriterT t w m) Source # 
Instance details

Defined in Reflex.EventWriter.Base

(Monad m, Group q, Additive q, Query q, Reflex t) => MonadQuery t q (QueryT t q m) Source # 
Instance details

Defined in Reflex.Query.Base

(MonadQuery t q m, Monad m) => MonadQuery t q (DynamicWriterT t w m) Source # 
Instance details

Defined in Reflex.DynamicWriter.Base

(MonadQuery t q m, Monad m) => MonadQuery t q (BehaviorWriterT t w m) Source # 
Instance details

Defined in Reflex.BehaviorWriter.Base

tellQueryDyn :: (Reflex t, MonadQuery t q m) => Dynamic t q -> m () Source #

queryDyn :: (Reflex t, Monad m, MonadQuery t q m) => Dynamic t q -> m (Dynamic t (QueryResult q)) Source #

mapQuery :: QueryMorphism q q' -> q -> q' Source #