License | BSD-style (see the file LICENSE) |
---|---|
Maintainer | sjoerd@w3future.com |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
Comma categories.
Documentation
data (:/\:) :: * -> * -> * -> * -> * where Source #
CommaA :: CommaO t s (a, b) -> Dom t a a' -> Dom s b b' -> CommaO t s (a', b') -> (t :/\: s) (a, b) (a', b') |
type ObjectsFUnder f a = ConstF f a :/\: f Source #
type ObjectsFOver f a = f :/\: ConstF f a Source #
type ObjectsUnder c a = Id c `ObjectsFUnder` a Source #
type ObjectsOver c a = Id c `ObjectsFOver` a Source #
initialUniversalComma :: forall u x c a a_. (Functor u, c ~ (u `ObjectsFUnder` x), HasInitialObject c, (a_, a) ~ InitialObject c) => u -> InitialUniversal x u a Source #
terminalUniversalComma :: forall u x c a a_. (Functor u, c ~ (u `ObjectsFOver` x), HasTerminalObject c, (a, a_) ~ TerminalObject c) => u -> TerminalUniversal x u a Source #