proton-0.0.4
Safe HaskellNone
LanguageHaskell2010

Proton.Coalgebraic

Documentation

type Coalgebraic s t a b = forall p. MChoice p => Optic p s t a b Source #

type Coalgebraic' s a = Coalgebraic s s a a Source #

class Profunctor p => MChoice p where Source #

Minimal complete definition

Nothing

Methods

mleft' :: p a b -> p (Either a m) (Either b m) Source #

mright' :: p a b -> p (Either m a) (Either m b) Source #

Instances

Instances details
Applicative f => MChoice (Star f) Source # 
Instance details

Defined in Proton.Coalgebraic

Methods

mleft' :: Star f a b -> Star f (Either a m) (Either b m) Source #

mright' :: Star f a b -> Star f (Either m a) (Either m b) Source #

Traversable f => MChoice (Costar f) Source # 
Instance details

Defined in Proton.Coalgebraic

Methods

mleft' :: Costar f a b -> Costar f (Either a m) (Either b m) Source #

mright' :: Costar f a b -> Costar f (Either m a) (Either m b) Source #

Monoid r => MChoice (Forget r) Source # 
Instance details

Defined in Proton.Coalgebraic

Methods

mleft' :: Forget r a b -> Forget r (Either a m) (Either b m) Source #

mright' :: Forget r a b -> Forget r (Either m a) (Either m b) Source #

MChoice ((->) :: Type -> Type -> Type) Source # 
Instance details

Defined in Proton.Coalgebraic

Methods

mleft' :: (a -> b) -> Either a m -> Either b m Source #

mright' :: (a -> b) -> Either m a -> Either m b Source #

coprism :: (b -> t) -> (s -> Either t a) -> Coalgebraic s t a b Source #

coalgPrism :: Prism s t a b -> Coalgebraic s t a b Source #