proton-0.0.4
Safe HaskellNone
LanguageHaskell2010

Proton.Algebraic

Documentation

class Profunctor p => MStrong p where Source #

Minimal complete definition

mfirst' | msecond'

Methods

mfirst' :: Monoid m => p a b -> p (a, m) (b, m) Source #

msecond' :: Monoid m => p a b -> p (m, a) (m, b) Source #

Instances

Instances details
Functor f => MStrong (Star f) Source # 
Instance details

Defined in Data.Profunctor.MStrong

Methods

mfirst' :: Monoid m => Star f a b -> Star f (a, m) (b, m) Source #

msecond' :: Monoid m => Star f a b -> Star f (m, a) (m, b) Source #

(Functor f, Foldable f) => MStrong (Costar f) Source # 
Instance details

Defined in Data.Profunctor.MStrong

Methods

mfirst' :: Monoid m => Costar f a b -> Costar f (a, m) (b, m) Source #

msecond' :: Monoid m => Costar f a b -> Costar f (m, a) (m, b) Source #

MStrong (Forget r) Source # 
Instance details

Defined in Data.Profunctor.MStrong

Methods

mfirst' :: Monoid m => Forget r a b -> Forget r (a, m) (b, m) Source #

msecond' :: Monoid m => Forget r a b -> Forget r (m, a) (m, b) Source #

MStrong (Tagged :: Type -> Type -> Type) Source # 
Instance details

Defined in Data.Profunctor.MStrong

Methods

mfirst' :: Monoid m => Tagged a b -> Tagged (a, m) (b, m) Source #

msecond' :: Monoid m => Tagged a b -> Tagged (m, a) (m, b) Source #

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

Defined in Data.Profunctor.MStrong

Methods

mfirst' :: Monoid m => (a -> b) -> (a, m) -> (b, m) Source #

msecond' :: Monoid m => (a -> b) -> (m, a) -> (m, b) Source #

(Traversable f, Distributive g) => MStrong (DoubleStar f g) Source # 
Instance details

Defined in Data.Profunctor.DoubleStar

Methods

mfirst' :: Monoid m => DoubleStar f g a b -> DoubleStar f g (a, m) (b, m) Source #

msecond' :: Monoid m => DoubleStar f g a b -> DoubleStar f g (m, a) (m, b) Source #

type AlgebraicLens s t a b = forall p. MStrong p => p a b -> p s t Source #

algebraic :: forall m p s t a b. (Monoid m, MStrong p) => (s -> m) -> (s -> a) -> (m -> b -> t) -> Optic p s t a b Source #

listLens :: MStrong p => (s -> a) -> ([s] -> b -> t) -> Optic p s t a b Source #

altLens :: (Alternative f, MStrong p) => (s -> a) -> (f s -> b -> t) -> Optic p s t a b Source #

(>-) :: Optic (Costar f) s t a b -> (f a -> b) -> f s -> t infixr 4 Source #

(?.) :: Optic (Costar f) s t a b -> b -> f s -> t infixr 4 Source #