Copyright | (C) 2015 Edward Kmett |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Stability | provisional |
Portability | MPTCs, fundeps |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
- class (Profunctor p, Functor f) => Sieve p f | p -> f where
- sieve :: p a b -> a -> f b
- class (Profunctor p, Functor f) => Cosieve p f | p -> f where
- cosieve :: p a b -> f a -> b
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
.
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
.