Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Mezzolens.Profunctor
- class Profunctor p where
- class Profunctor p => Strong p where
- class Strong p => OutPhantom p where
- ocoerce :: p c a -> p c b
- class Profunctor p => Choice p where
- class Choice p => InPhantom p where
- icoerce :: p a c -> p b c
- class (Strong p, Choice p) => Wandering p where
- wander :: Traversable f => p a b -> p (f a) (f b)
- class Wandering p => Cartographic p where
- _2Default :: OutPhantom p => p a b -> p (c, a) (c, b)
- _RightDefault :: InPhantom p => p a b -> p (Either c a) (Either c b)
- data ProProduct p q a b = ProProduct {}
- newtype SuperStar f a b = SuperStar {
- runSuperStar :: f a -> b
- type SubStar = Kleisli
- newtype Kleisli m a b :: (* -> *) -> * -> * -> * = Kleisli {
- runKleisli :: a -> m b
Documentation
class Profunctor p where Source
Minimal complete definition
Nothing
Methods
dimap :: (a -> b) -> (c -> d) -> p b c -> p a d Source
Instances
Profunctor (->) Source | |
Functor f => Profunctor (Kleisli f) Source | |
Functor f => Profunctor (SuperStar f) Source | |
(Profunctor p, Profunctor q) => Profunctor (ProProduct p q) Source | |
Profunctor p => Profunctor (EitherSide p c d) Source | |
Profunctor p => Profunctor (AlongSide p c d) Source |
class Profunctor p => Strong p where Source
Minimal complete definition
Nothing
class Strong p => OutPhantom p where Source
Instances
Phantom f => OutPhantom (Kleisli f) Source | |
OutPhantom p => OutPhantom (AlongSide p c d) Source |
class Profunctor p => Choice p where Source
Minimal complete definition
Nothing
class (Strong p, Choice p) => Wandering p where Source
Methods
wander :: Traversable f => p a b -> p (f a) (f b) Source
class Wandering p => Cartographic p where Source
Instances
Cartographic (->) Source |
_2Default :: OutPhantom p => p a b -> p (c, a) (c, b) Source
_RightDefault :: InPhantom p => p a b -> p (Either c a) (Either c b) Source
data ProProduct p q a b Source
Constructors
ProProduct | |
Instances
(Profunctor p, Profunctor q) => Profunctor (ProProduct p q) Source |
newtype SuperStar f a b Source
Constructors
SuperStar | |
Fields
|
newtype Kleisli m a b :: (* -> *) -> * -> * -> *
Kleisli arrows of a monad.
Constructors
Kleisli | |
Fields
|
Instances
Monad m => Category * (Kleisli m) | |
Monad m => Arrow (Kleisli m) | |
MonadPlus m => ArrowZero (Kleisli m) | |
MonadPlus m => ArrowPlus (Kleisli m) | |
Monad m => ArrowChoice (Kleisli m) | |
Monad m => ArrowApply (Kleisli m) | |
MonadFix m => ArrowLoop (Kleisli m) | Beware that for many monads (those for which the |
Applicative f => Wandering (Kleisli f) Source | |
Applicative f => Choice (Kleisli f) Source | |
Phantom f => OutPhantom (Kleisli f) Source | |
Functor f => Strong (Kleisli f) Source | |
Functor f => Profunctor (Kleisli f) Source |