Safe Haskell | None |
---|---|

Language | Haskell2010 |

## Synopsis

- class (Semigroupoid s, Semigroupoid t) => SGM (s :: α -> α -> *) (t :: β -> β -> *) (f :: α -> β) where
- map :: s a b -> t (f a) (f b)

- class (SGM s t f, Category s, Category t) => Functor s t f
- type Endofunctor s = Functor s s
- (<$>) :: SGM s (->) f => s a b -> f a -> f b

# Documentation

class (Semigroupoid s, Semigroupoid t) => SGM (s :: α -> α -> *) (t :: β -> β -> *) (f :: α -> β) where Source #

## Instances

SGM (:-) ((->) :: Type -> Type -> Type) Dict Source # | |

Semigroupoid s => SGM (s :: α -> α -> Type) ((->) :: Type -> Type -> Type) (s a :: α -> Type) Source # | |

Defined in Data.Functor.Constrained | |

Semigroupoid s => SGM (s :: α -> α -> Type) ((->) :: Type -> Type -> Type) (Proxy :: α -> Type) Source # | |

Semigroupoid s => SGM (s :: α -> α -> Type) ((->) :: Type -> Type -> Type) (Const a :: α -> Type) Source # | |

(SGM s ((->) :: Type -> Type -> Type) f, SGM s ((->) :: Type -> Type -> Type) g) => SGM (s :: k -> k -> Type) ((->) :: Type -> Type -> Type) (Product f g :: k -> Type) Source # | |

(SGM s ((->) :: Type -> Type -> Type) f, SGM s ((->) :: Type -> Type -> Type) g) => SGM (s :: k -> k -> Type) ((->) :: Type -> Type -> Type) (Sum f g :: k -> Type) Source # | |

Functor f => SGM ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (f :: Type -> Type) Source # | |

Defined in Data.Functor.Constrained | |

SGM ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Identity Source # | |

SGM ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Either a :: Type -> Type) Source # | |

SGM ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) ((,) a :: Type -> Type) Source # | |

Defined in Data.Functor.Constrained | |

SGM ((->) :: Type -> Type -> Type) (NT ((->) :: Type -> Type -> Type)) Either Source # | |

SGM ((->) :: Type -> Type -> Type) (NT ((->) :: Type -> Type -> Type)) (,) Source # | |

SGM ((->) :: Type -> Type -> Type) (NT ((->) :: Type -> Type -> Type)) (Const :: Type -> Type -> Type) Source # | |

Semigroupoid s => SGM (Dual s :: Type -> Type -> Type) (NT ((->) :: Type -> Type -> Type)) (s :: Type -> Type -> Type) Source # | |

SGM (NT ((->) :: Type -> Type -> Type)) (NT (NT ((->) :: Type -> Type -> Type))) (Product :: (Type -> Type) -> (Type -> Type) -> Type -> Type) Source # | |

SGM (NT ((->) :: Type -> Type -> Type)) (NT (NT ((->) :: Type -> Type -> Type))) (Sum :: (Type -> Type) -> (Type -> Type) -> Type -> Type) Source # | |

SGM (NT ((->) :: Type -> Type -> Type)) (NT (NT ((->) :: Type -> Type -> Type))) (Compose :: (Type -> Type) -> (Type -> Type) -> Type -> Type) Source # | |

SGM (NT ((->) :: Type -> Type -> Type)) (NT ((->) :: Type -> Type -> Type)) (Product f :: (Type -> Type) -> Type -> Type) Source # | |

SGM (NT ((->) :: Type -> Type -> Type)) (NT ((->) :: Type -> Type -> Type)) (Sum f :: (Type -> Type) -> Type -> Type) Source # | |

(SGM s ((->) :: Type -> Type -> Type) f, Valid s ~ (Unconstrained1 :: Type -> Constraint)) => SGM (NT s :: (Type -> Type) -> (Type -> Type) -> Type) (NT ((->) :: Type -> Type -> Type)) (Compose f :: (Type -> Type) -> Type -> Type) Source # | |

class (SGM s t f, Category s, Category t) => Functor s t f Source #

## Instances

type Endofunctor s = Functor s s Source #