data-lens-2.11.2: 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 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 #

Tensor ((->) LiftedRep LiftedRep) Source # 

Methods

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

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

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