categories-1.0.7: Categories

Copyright | 2008 Edward Kmett
License | BSD
Maintainer | Edward Kmett <ekmett@gmail.com>
Stability | experimental
Portability | non-portable (class-associated types)
Safe Haskell | Trustworthy
Language | Haskell2010

Control.Category.Distributive

Contents

- Distributive Categories

Description

Synopsis

- factor :: (Cartesian k, CoCartesian k) => k (Sum k (Product k a b) (Product k a c)) (Product k a (Sum k b c))
- class (Cartesian k, CoCartesian k) => Distributive (k :: Type -> Type -> Type) where
  - distribute :: k (Product k a (Sum k b c)) (Sum k (Product k a b) (Product k a c))

# Distributive Categories

factor :: (Cartesian k, CoCartesian k) => k (Sum k (Product k a b) (Product k a c)) (Product k a (Sum k b c)) Source #

The canonical factoring morphism.

class (Cartesian k, CoCartesian k) => Distributive (k :: Type -> Type -> Type) where Source #

A category in which `factor` is an isomorphism

Methods

distribute :: k (Product k a (Sum k b c)) (Sum k (Product k a b) (Product k a c)) Source #

#### Instances

Instances details

Distributive (->) Source # |
Instance details Defined in Control.Category.Distributive Methods distribute :: Product (->) a (Sum (->) b c) -> Sum (->) (Product (->) a b) (Product (->) a c) Source #