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 |
|
Sieve ((->) :: Type -> Type -> Type ) Identity Source # | |
Defined in Data.Profunctor.Sieve |
|
Functor f => Sieve ( Star f) f Source # | |
Defined in Data.Profunctor.Sieve |
|
Sieve ( Forget r :: Type -> Type -> Type ) ( Const r :: Type -> Type ) Source # | |
( 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
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 |
|
Functor f => Cosieve ( Costar f) f 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 # |