data-lens-2.11: Used to be Haskell 98 Lenses

Safe HaskellSafe
LanguageHaskell98

Control.Category.Product

Documentation

class Category c => Tensor c where Source #

Minimal complete definition

(***)

Methods

(***) :: c w x -> c y z -> c (w, y) (x, z) infixr 3 Source #

first :: c w x -> c (w, z) (x, z) Source #

second :: c y z -> c (w, y) (w, z) Source #

Instances

Tensor (->) Source # 

Methods

(***) :: (w -> x) -> (y -> z) -> (w, y) -> (x, z) Source #

first :: (w -> x) -> (w, z) -> (x, z) Source #

second :: (y -> z) -> (w, y) -> (w, z) Source #

Tensor Lens Source # 

Methods

(***) :: Lens w x -> Lens y z -> Lens (w, y) (x, z) Source #

first :: Lens w x -> Lens (w, z) (x, z) Source #

second :: Lens y z -> Lens (w, y) (w, z) Source #

Tensor PartialLens Source # 

Methods

(***) :: PartialLens w x -> PartialLens y z -> PartialLens (w, y) (x, z) Source #

first :: PartialLens w x -> PartialLens (w, z) (x, z) Source #

second :: PartialLens y z -> PartialLens (w, y) (w, z) Source #