multivariant-0.1.0.1: Multivariant assignments generation language

Safe HaskellSafe
LanguageHaskell2010

Data.Invertible.Strong

Synopsis

Documentation

class IsoProfunctor p => IsoStrong p where Source #

Generalizing Star of a strong Functor

Note: Every Functor in Haskell is strong with respect to (,).

This describes profunctor strength with respect to the product structure of Hask.

http://www-kb.is.s.u-tokyo.ac.jp/~asada/papers/arrStrMnd.pdf

Methods

first' :: p a b -> p (a, c) (b, c) Source #

second' :: p a b -> p (c, a) (c, b) Source #

Instances

IsoStrong (Bijection (->)) Source # 

Methods

first' :: Bijection (->) a b -> Bijection (->) (a, c) (b, c) Source #

second' :: Bijection (->) a b -> Bijection (->) (c, a) (c, b) Source #

IsoStrong p => IsoStrong (FreeA p) Source # 

Methods

first' :: FreeA p a b -> FreeA p (a, c) (b, c) Source #

second' :: FreeA p a b -> FreeA p (c, a) (c, b) Source #