semigroupoids-5.3.7: Semigroupoids: Category sans id
Copyright (C) 2007-2015 Edward Kmett
License BSD-style (see the file LICENSE)
Maintainer Edward Kmett <ekmett@gmail.com>
Stability provisional
Portability portable
Safe Haskell Trustworthy
Language Haskell2010

Data.Semigroupoid

Description

A semigroupoid satisfies all of the requirements to be a Category except for the existence of identity arrows.

Synopsis

Documentation

class Semigroupoid c where Source #

Methods

o :: c j k -> c i j -> c i k Source #

Instances

Instances details
Semigroupoid ( (:~:) :: k -> k -> Type ) Source #
Instance details

Defined in Data.Semigroupoid

Methods

o :: forall (j :: k0) (k1 :: k0) (i :: k0). (j :~: k1) -> (i :~: j) -> i :~: k1 Source #

Semigroupoid ( Coercion :: k -> k -> Type ) Source #
Instance details

Defined in Data.Semigroupoid

Methods

o :: forall (j :: k0) (k1 :: k0) (i :: k0). Coercion j k1 -> Coercion i j -> Coercion i k1 Source #

Semigroupoid ( (:~~:) :: k -> k -> Type ) Source #
Instance details

Defined in Data.Semigroupoid

Methods

o :: forall (j :: k0) (k1 :: k0) (i :: k0). (j :~~: k1) -> (i :~~: j) -> i :~~: k1 Source #

Semigroupoid k2 => Semigroupoid ( Iso k2 :: k1 -> k1 -> Type ) Source #
Instance details

Defined in Data.Isomorphism

Methods

o :: forall (j :: k) (k :: k) (i :: k). Iso k2 j k -> Iso k2 i j -> Iso k2 i k Source #

Category k2 => Semigroupoid ( WrappedCategory k2 :: k1 -> k1 -> Type ) Source #
Instance details

Defined in Data.Semigroupoid

Methods

o :: forall (j :: k) (k :: k) (i :: k). WrappedCategory k2 j k -> WrappedCategory k2 i j -> WrappedCategory k2 i k Source #

Semigroup m => Semigroupoid ( Semi m :: k -> k -> Type ) Source #
Instance details

Defined in Data.Semigroupoid

Methods

o :: forall (j :: k0) (k1 :: k0) (i :: k0). Semi m j k1 -> Semi m i j -> Semi m i k1 Source #

Semigroupoid k2 => Semigroupoid ( Dual k2 :: k1 -> k1 -> Type ) Source #
Instance details

Defined in Data.Semigroupoid.Dual

Methods

o :: forall (j :: k) (k :: k) (i :: k). Dual k2 j k -> Dual k2 i j -> Dual k2 i k Source #

Semigroupoid (,) Source #

http://en.wikipedia.org/wiki/Band_(mathematics)#Rectangular_bands

Instance details

Defined in Data.Semigroupoid

Methods

o :: forall (j :: k) (k :: k) (i :: k). (j, k) -> (i, j) -> (i, k) Source #

Semigroupoid Op Source #
Instance details

Defined in Data.Semigroupoid

Methods

o :: forall (j :: k) (k :: k) (i :: k). Op j k -> Op i j -> Op i k Source #

Bind m => Semigroupoid ( Kleisli m :: Type -> Type -> Type ) Source #
Instance details

Defined in Data.Semigroupoid

Methods

o :: forall (j :: k) (k :: k) (i :: k). Kleisli m j k -> Kleisli m i j -> Kleisli m i k Source #

Semigroupoid ( Const :: Type -> Type -> Type ) Source #
Instance details

Defined in Data.Semigroupoid

Methods

o :: forall (j :: k) (k :: k) (i :: k). Const j k -> Const i j -> Const i k Source #

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

Defined in Data.Semigroupoid

Methods

o :: forall (j :: k) (k :: k) (i :: k). Tagged j k -> Tagged i j -> Tagged i k Source #

Semigroupoid s => Semigroupoid ( Categorical s :: Type -> Type -> Type ) Source #

Since: 5.3.6

Instance details

Defined in Data.Semigroupoid.Categorical

Methods

o :: forall (j :: k) (k :: k) (i :: k). Categorical s j k -> Categorical s i j -> Categorical s i k Source #

Apply f => Semigroupoid ( Static f :: Type -> Type -> Type ) Source #
Instance details

Defined in Data.Semigroupoid.Static

Methods

o :: forall (j :: k) (k :: k) (i :: k). Static f j k -> Static f i j -> Static f i k Source #

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

Defined in Data.Semigroupoid

Methods

o :: forall (j :: k) (k :: k) (i :: k). (j -> k) -> (i -> j) -> i -> k Source #

Extend w => Semigroupoid ( Cokleisli w :: Type -> Type -> Type ) Source #
Instance details

Defined in Data.Semigroupoid

Methods

o :: forall (j :: k) (k :: k) (i :: k). Cokleisli w j k -> Cokleisli w i j -> Cokleisli w i k Source #

newtype WrappedCategory k a b Source #

Constructors

WrapCategory

Fields

Instances

Instances details
Category k2 => Category ( WrappedCategory k2 :: k1 -> k1 -> Type ) Source #
Instance details

Defined in Data.Semigroupoid

Methods

id :: forall (a :: k). WrappedCategory k2 a a Source #

(.) :: forall (b :: k) (c :: k) (a :: k). WrappedCategory k2 b c -> WrappedCategory k2 a b -> WrappedCategory k2 a c Source #

Category k2 => Semigroupoid ( WrappedCategory k2 :: k1 -> k1 -> Type ) Source #
Instance details

Defined in Data.Semigroupoid

Methods

o :: forall (j :: k) (k :: k) (i :: k). WrappedCategory k2 j k -> WrappedCategory k2 i j -> WrappedCategory k2 i k Source #

newtype Semi m a b Source #

Constructors

Semi

Fields

Instances

Instances details
Monoid m => Category ( Semi m :: k -> k -> Type ) Source #
Instance details

Defined in Data.Semigroupoid

Methods

id :: forall (a :: k0). Semi m a a Source #

(.) :: forall (b :: k0) (c :: k0) (a :: k0). Semi m b c -> Semi m a b -> Semi m a c Source #

Semigroup m => Semigroupoid ( Semi m :: k -> k -> Type ) Source #
Instance details

Defined in Data.Semigroupoid

Methods

o :: forall (j :: k0) (k1 :: k0) (i :: k0). Semi m j k1 -> Semi m i j -> Semi m i k1 Source #