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 |
Synopsis
- 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
.
Instances
(Monad m, Functor m) => Sieve (Kleisli m) m Source # | |
Defined in Data.Profunctor.Sieve | |
Functor f => Sieve (Star f) f Source # | |
Defined in Data.Profunctor.Sieve | |
Sieve (Forget r) (Const r :: Type -> Type) Source # | |
Sieve ((->) :: Type -> Type -> Type) Identity Source # | |
Defined in Data.Profunctor.Sieve | |
(Sieve p f, Sieve q g) => Sieve (Procompose p q) (Compose g f) Source # | |
Defined in Data.Profunctor.Composition sieve :: 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
.
Instances
Functor f => Cosieve (Costar f) f Source # | |
Defined in Data.Profunctor.Sieve | |
Cosieve (Tagged :: Type -> Type -> Type) (Proxy :: Type -> Type) Source # | |
Cosieve ((->) :: Type -> Type -> Type) Identity Source # | |
Defined in Data.Profunctor.Sieve | |
Functor w => Cosieve (Cokleisli w) w Source # | |
Defined in Data.Profunctor.Sieve | |
(Cosieve p f, Cosieve q g) => Cosieve (Procompose p q) (Compose f g) Source # | |
Defined in Data.Profunctor.Composition cosieve :: Procompose p q a b -> Compose f g a -> b Source # |