vessel-0.2.0.0: Functor-parametric containers

Safe HaskellNone
LanguageHaskell2010

Data.Vessel.ViewMorphism

Synopsis

Documentation

type family ViewQueryResult (v :: k) :: k Source #

Instances
type ViewQueryResult ((a, b) :: Type) Source # 
Instance details

Defined in Data.Vessel.ViewMorphism

type ViewQueryResult (Vessel v g :: Type) Source # 
Instance details

Defined in Data.Vessel.Vessel

type ViewQueryResult (SingleV a (Const g :: Type -> Type) :: Type) Source # 
Instance details

Defined in Data.Vessel.Single

type ViewQueryResult (IdentityV a (Const g :: Type -> Type) :: Type) Source # 
Instance details

Defined in Data.Vessel.Identity

type ViewQueryResult (Const g x :: Type) Source # 
Instance details

Defined in Data.Vessel.ViewMorphism

type ViewQueryResult (SubVessel k v g :: Type) Source # 
Instance details

Defined in Data.Vessel.SubVessel

type ViewQueryResult (MapV k2 v g :: Type) Source # 
Instance details

Defined in Data.Vessel.Map

type ViewQueryResult (MapV k2 v g :: Type) = MapV k2 v (ViewQueryResult g)
type ViewQueryResult (Const g :: Type -> Type) Source # 
Instance details

Defined in Data.Vessel.ViewMorphism

data ViewHalfMorphism m n p q Source #

Instances
(Monad m, Monad n) => Category (ViewHalfMorphism n m :: Type -> Type -> Type) Source # 
Instance details

Defined in Data.Vessel.ViewMorphism

Methods

id :: ViewHalfMorphism n m a a #

(.) :: ViewHalfMorphism n m b c -> ViewHalfMorphism n m a b -> ViewHalfMorphism n m a c #

(Semigroup (m b), Semigroup (n (ViewQueryResult a))) => Semigroup (ViewHalfMorphism m n a b) Source # 
Instance details

Defined in Data.Vessel.ViewMorphism

Methods

(<>) :: ViewHalfMorphism m n a b -> ViewHalfMorphism m n a b -> ViewHalfMorphism m n a b #

sconcat :: NonEmpty (ViewHalfMorphism m n a b) -> ViewHalfMorphism m n a b #

stimes :: Integral b0 => b0 -> ViewHalfMorphism m n a b -> ViewHalfMorphism m n a b #

(Monoid (m b), Monoid (n (ViewQueryResult a))) => Monoid (ViewHalfMorphism m n a b) Source # 
Instance details

Defined in Data.Vessel.ViewMorphism

Methods

mempty :: ViewHalfMorphism m n a b #

mappend :: ViewHalfMorphism m n a b -> ViewHalfMorphism m n a b -> ViewHalfMorphism m n a b #

mconcat :: [ViewHalfMorphism m n a b] -> ViewHalfMorphism m n a b #

data ViewMorphism m n p q Source #

Instances
(Monad m, Monad n) => Category (ViewMorphism m n :: Type -> Type -> Type) Source # 
Instance details

Defined in Data.Vessel.ViewMorphism

Methods

id :: ViewMorphism m n a a #

(.) :: ViewMorphism m n b c -> ViewMorphism m n a b -> ViewMorphism m n a c #

(Semigroup (m b), Semigroup (m (ViewQueryResult b)), Semigroup (n a), Semigroup (n (ViewQueryResult a))) => Semigroup (ViewMorphism m n a b) Source # 
Instance details

Defined in Data.Vessel.ViewMorphism

Methods

(<>) :: ViewMorphism m n a b -> ViewMorphism m n a b -> ViewMorphism m n a b #

sconcat :: NonEmpty (ViewMorphism m n a b) -> ViewMorphism m n a b #

stimes :: Integral b0 => b0 -> ViewMorphism m n a b -> ViewMorphism m n a b #

(Monoid (m b), Monoid (m (ViewQueryResult b)), Monoid (n a), Monoid (n (ViewQueryResult a))) => Monoid (ViewMorphism m n a b) Source # 
Instance details

Defined in Data.Vessel.ViewMorphism

Methods

mempty :: ViewMorphism m n a b #

mappend :: ViewMorphism m n a b -> ViewMorphism m n a b -> ViewMorphism m n a b #

mconcat :: [ViewMorphism m n a b] -> ViewMorphism m n a b #

zipViewMorphism :: (Semigroup (m c), Semigroup (m (ViewQueryResult c)), Semialign n, Applicative n) => ViewMorphism m n a c -> ViewMorphism m n b c -> ViewMorphism m n (a, b) c Source #

query for two things simultaneously, return as much result as is available.

toZipViewMorphism :: forall m n a b c. (Semialign n, Semigroup (m c)) => ViewHalfMorphism m n a c -> ViewHalfMorphism m n b c -> ViewHalfMorphism m n (a, b) c Source #

fromZipViewMorphism :: forall m n a b c. (Applicative m, Semigroup (n (ViewQueryResult c))) => ViewHalfMorphism m n c a -> ViewHalfMorphism m n c b -> ViewHalfMorphism m n c (a, b) Source #

queryViewMorphism :: forall t (p :: *) (q :: *) m partial. (Reflex t, MonadQuery t q m, Monad m, QueryResult q ~ ViewQueryResult q) => p -> Dynamic t (ViewMorphism Identity partial p q) -> m (Dynamic t (partial (ViewQueryResult p))) Source #