planet-mitchell-0.1.0: Planet Mitchell

Safe HaskellNone
LanguageHaskell2010

Semigroupoid

Contents

Synopsis
  • class Semigroupoid (c :: k -> k -> *) where
    • newtype Semi m (a :: k) (b :: k1) :: forall k k1. * -> k -> k1 -> * = Semi {}
    • newtype Dual (k2 :: k1 -> k -> *) (a :: k) (b :: k1) :: forall k k1. (k1 -> k -> *) -> k -> k1 -> * = Dual {}

    Semigroupoid

    class Semigroupoid (c :: k -> k -> *) where #

    Minimal complete definition

    o

    Methods

    o :: c j k1 -> c i j -> c i k1 #

    Instances
    Semigroupoid (Coercion :: k -> k -> *) 
    Instance details

    Defined in Data.Semigroupoid

    Methods

    o :: Coercion j k1 -> Coercion i j -> Coercion i k1 #

    Semigroupoid ((:~:) :: k -> k -> *) 
    Instance details

    Defined in Data.Semigroupoid

    Methods

    o :: (j :~: k1) -> (i :~: j) -> i :~: k1 #

    Semigroupoid ((:~~:) :: k -> k -> *) 
    Instance details

    Defined in Data.Semigroupoid

    Methods

    o :: (j :~~: k1) -> (i :~~: j) -> i :~~: k1 #

    Semigroupoid k2 => Semigroupoid (Dual k2 :: k1 -> k1 -> *) 
    Instance details

    Defined in Data.Semigroupoid.Dual

    Methods

    o :: Dual k2 j k10 -> Dual k2 i j -> Dual k2 i k10 #

    Category k2 => Semigroupoid (WrappedCategory k2 :: k1 -> k1 -> *) 
    Instance details

    Defined in Data.Semigroupoid

    Methods

    o :: WrappedCategory k2 j k10 -> WrappedCategory k2 i j -> WrappedCategory k2 i k10 #

    Semigroup m => Semigroupoid (Semi m :: k -> k -> *) 
    Instance details

    Defined in Data.Semigroupoid

    Methods

    o :: Semi m j k1 -> Semi m i j -> Semi m i k1 #

    Semigroupoid (,)

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

    Instance details

    Defined in Data.Semigroupoid

    Methods

    o :: (j, k1) -> (i, j) -> (i, k1) #

    Semigroupoid Op 
    Instance details

    Defined in Data.Semigroupoid

    Methods

    o :: Op j k1 -> Op i j -> Op i k1 #

    Bind m => Semigroupoid (Kleisli m :: * -> * -> *) 
    Instance details

    Defined in Data.Semigroupoid

    Methods

    o :: Kleisli m j k1 -> Kleisli m i j -> Kleisli m i k1 #

    Semigroupoid (Const :: * -> * -> *) 
    Instance details

    Defined in Data.Semigroupoid

    Methods

    o :: Const j k1 -> Const i j -> Const i k1 #

    Apply f => Semigroupoid (Static f :: * -> * -> *) 
    Instance details

    Defined in Data.Semigroupoid.Static

    Methods

    o :: Static f j k1 -> Static f i j -> Static f i k1 #

    Semigroupoid (Tagged :: * -> * -> *) 
    Instance details

    Defined in Data.Semigroupoid

    Methods

    o :: Tagged j k1 -> Tagged i j -> Tagged i k1 #

    Semigroupoid ((->) :: * -> * -> *) 
    Instance details

    Defined in Data.Semigroupoid

    Methods

    o :: (j -> k1) -> (i -> j) -> i -> k1 #

    Extend w => Semigroupoid (Cokleisli w :: * -> * -> *) 
    Instance details

    Defined in Data.Semigroupoid

    Methods

    o :: Cokleisli w j k1 -> Cokleisli w i j -> Cokleisli w i k1 #

    Newtypes

    newtype Semi m (a :: k) (b :: k1) :: forall k k1. * -> k -> k1 -> * #

    Constructors

    Semi 

    Fields

    Instances
    Monoid m => Category (Semi m :: k -> k -> *) 
    Instance details

    Defined in Data.Semigroupoid

    Methods

    id :: Semi m a a #

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

    Semigroup m => Semigroupoid (Semi m :: k -> k -> *) 
    Instance details

    Defined in Data.Semigroupoid

    Methods

    o :: Semi m j k1 -> Semi m i j -> Semi m i k1 #

    Wrapped (Semi m a b) 
    Instance details

    Defined in Control.Lens.Wrapped

    Associated Types

    type Unwrapped (Semi m a b) :: * #

    Methods

    _Wrapped' :: Iso' (Semi m a b) (Unwrapped (Semi m a b)) #

    t ~ Semi m' a' b' => Rewrapped (Semi m a b) t 
    Instance details

    Defined in Control.Lens.Wrapped

    type Unwrapped (Semi m a b) 
    Instance details

    Defined in Control.Lens.Wrapped

    type Unwrapped (Semi m a b) = m

    newtype Dual (k2 :: k1 -> k -> *) (a :: k) (b :: k1) :: forall k k1. (k1 -> k -> *) -> k -> k1 -> * #

    Constructors

    Dual 

    Fields

    Instances
    Category k2 => Category (Dual k2 :: k1 -> k1 -> *) 
    Instance details

    Defined in Data.Semigroupoid.Dual

    Methods

    id :: Dual k2 a a #

    (.) :: Dual k2 b c -> Dual k2 a b -> Dual k2 a c #

    Groupoid k2 => Groupoid (Dual k2 :: k1 -> k1 -> *) 
    Instance details

    Defined in Data.Groupoid

    Methods

    inv :: Dual k2 a b -> Dual k2 b a #

    Semigroupoid k2 => Semigroupoid (Dual k2 :: k1 -> k1 -> *) 
    Instance details

    Defined in Data.Semigroupoid.Dual

    Methods

    o :: Dual k2 j k10 -> Dual k2 i j -> Dual k2 i k10 #

    Wrapped (Dual k3 a b) 
    Instance details

    Defined in Control.Lens.Wrapped

    Associated Types

    type Unwrapped (Dual k3 a b) :: * #

    Methods

    _Wrapped' :: Iso' (Dual k3 a b) (Unwrapped (Dual k3 a b)) #

    t ~ Dual k' a' b' => Rewrapped (Dual k6 a b) t 
    Instance details

    Defined in Control.Lens.Wrapped

    type Unwrapped (Dual k3 a b) 
    Instance details

    Defined in Control.Lens.Wrapped

    type Unwrapped (Dual k3 a b) = k3 b a