Portability | non-portable (functional-dependencies) |
---|---|

Stability | experimental |

Maintainer | Edward Kmett <ekmett@gmail.com> |

Safe Haskell | Safe-Infered |

A more categorical definition of `Functor`

# Documentation

class Functor f a a => Endofunctor f a Source

Functor f a a => Endofunctor f a |

newtype LiftedFunctor f a Source

LiftedFunctor (f a) |

Typeable1 f => Typeable1 (LiftedFunctor f) | |

Functor f => Functor (LiftedFunctor f) (->) (->) | |

(Typeable1 f, Data (f a), Data a) => Data (LiftedFunctor f a) | |

Read (f a) => Read (LiftedFunctor f a) | |

Show (f a) => Show (LiftedFunctor f a) |

newtype LoweredFunctor f a Source

LoweredFunctor (f a) |

Functor f (->) (->) => Functor (LoweredFunctor f) | |

Typeable1 f => Typeable1 (LoweredFunctor f) | |

(Typeable1 f, Data (f a), Data a) => Data (LoweredFunctor f a) | |

Read (f a) => Read (LoweredFunctor f a) | |

Show (f a) => Show (LoweredFunctor f a) |