Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- type family ViewQueryResult (v :: k) :: k
- data ViewHalfMorphism m n p q = ViewHalfMorphism {
- _viewMorphism_mapQuery :: p -> m q
- _viewMorphism_mapQueryResult :: ViewQueryResult q -> n (ViewQueryResult p)
- data ViewMorphism m n p q = ViewMorphism {
- _viewMorphism_to :: ViewHalfMorphism m n p q
- _viewMorphism_from :: ViewHalfMorphism n m q p
- type ViewMorphismSimple = ViewMorphism Identity Maybe
- 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
- 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
- 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)
- 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)))
Documentation
type family ViewQueryResult (v :: k) :: k Source #
Instances
type ViewQueryResult ((a, b) :: Type) Source # | |
Defined in Data.Vessel.ViewMorphism | |
type ViewQueryResult (Vessel v g :: Type) Source # | |
Defined in Data.Vessel.Vessel | |
type ViewQueryResult (SingleV a (Const g :: Type -> Type) :: Type) Source # | |
Defined in Data.Vessel.Single | |
type ViewQueryResult (IdentityV a (Const g :: Type -> Type) :: Type) Source # | |
Defined in Data.Vessel.Identity | |
type ViewQueryResult (Const g x :: Type) Source # | |
Defined in Data.Vessel.ViewMorphism | |
type ViewQueryResult (SubVessel k v g :: Type) Source # | |
Defined in Data.Vessel.SubVessel | |
type ViewQueryResult (MapV k2 v g :: Type) Source # | |
Defined in Data.Vessel.Map | |
type ViewQueryResult (Const g :: Type -> Type) Source # | |
Defined in Data.Vessel.ViewMorphism |
data ViewHalfMorphism m n p q Source #
ViewHalfMorphism | |
|
Instances
data ViewMorphism m n p q Source #
ViewMorphism | |
|
Instances
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 #