profunctors-5.4: Profunctors

Copyright (C) 2015 Edward Kmett BSD-style (see the file LICENSE) Edward Kmett provisional MPTCs, fundeps Trustworthy Haskell2010

Data.Profunctor.Sieve

Description

Synopsis

# Documentation

class (Profunctor p, Functor f) => Sieve p f | p -> f where Source #

A Profunctor p is a Sieve on f if it is a subprofunctor of Star f.

That is to say it is a subset of Hom(-,f=) closed under lmap and rmap.

Alternately, you can view it as a sieve in the comma category Hask/f.

Methods

sieve :: p a b -> a -> f b Source #

Instances
 (Monad m, Functor m) => Sieve (Kleisli m) m Source # Instance detailsDefined in Data.Profunctor.Sieve Methodssieve :: Kleisli m a b -> a -> m b Source # Functor f => Sieve (Star f) f Source # Instance detailsDefined in Data.Profunctor.Sieve Methodssieve :: Star f a b -> a -> f b Source # Sieve (Forget r) (Const r :: Type -> Type) Source # Instance detailsDefined in Data.Profunctor.Sieve Methodssieve :: Forget r a b -> a -> Const r b Source # Sieve ((->) :: Type -> Type -> Type) Identity Source # Instance detailsDefined in Data.Profunctor.Sieve Methodssieve :: (a -> b) -> a -> Identity b Source # (Sieve p f, Sieve q g) => Sieve (Procompose p q) (Compose g f) Source # Instance detailsDefined in Data.Profunctor.Composition Methodssieve :: Procompose p q a b -> a -> Compose g f b Source #

class (Profunctor p, Functor f) => Cosieve p f | p -> f where Source #

A Profunctor p is a Cosieve on f if it is a subprofunctor of Costar f.

That is to say it is a subset of Hom(f-,=) closed under lmap and rmap.

Alternately, you can view it as a cosieve in the comma category f/Hask.

Methods

cosieve :: p a b -> f a -> b Source #

Instances
 Functor f => Cosieve (Costar f) f Source # Instance detailsDefined in Data.Profunctor.Sieve Methodscosieve :: Costar f a b -> f a -> b Source # Cosieve (Tagged :: Type -> Type -> Type) (Proxy :: Type -> Type) Source # Instance detailsDefined in Data.Profunctor.Sieve Methodscosieve :: Tagged a b -> Proxy a -> b Source # Cosieve ((->) :: Type -> Type -> Type) Identity Source # Instance detailsDefined in Data.Profunctor.Sieve Methodscosieve :: (a -> b) -> Identity a -> b Source # Functor w => Cosieve (Cokleisli w) w Source # Instance detailsDefined in Data.Profunctor.Sieve Methodscosieve :: Cokleisli w a b -> w a -> b Source # (Cosieve p f, Cosieve q g) => Cosieve (Procompose p q) (Compose f g) Source # Instance detailsDefined in Data.Profunctor.Composition Methodscosieve :: Procompose p q a b -> Compose f g a -> b Source #