profunctors-5.1.2: Profunctors

Copyright(C) 2015 Edward Kmett
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityprovisional
PortabilityMPTCs, fundeps
Safe HaskellSafe
LanguageHaskell2010

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

Sieve (->) Identity Source 
(Monad m, Functor m) => Sieve (Kleisli m) m Source 
Functor f => Sieve (Star f) f Source 
Sieve (Forget r) (Const r) Source 
(Sieve p f, Sieve q g) => Sieve (Procompose p q) (Compose g f) 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