Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Documentation
mkUnit :: forall k con a r. (Obj k r, Monoidal k, con (), con a, forall α β. (con α, con β) => con (α, β), con ~ Obj k) => P k r a %1 -> (P k r a, P k r ()) Source #
split :: forall con a b r k. (O3 k r a b, Monoidal k, con (), forall α β. (con α, con β) => con (α, β), con ~ Obj k) => P k r (a ⊗ b) %1 -> (P k r a, P k r b) Source #
merge :: forall con a b r k. (O3 k r a b, Monoidal k, con (), forall α β. (con α, con β) => con (α, β), con ~ Obj k) => (P k r a, P k r b) %1 -> P k r (a ⊗ b) Source #
decode :: forall a b k con. (con (), con ~ Obj k, Monoidal k, con a, con b, forall α β. (con α, con β) => con (α, β)) => (forall r. Obj k r => P k r a %1 -> P k r b) -> a `k` b Source #
(!:) :: forall con a b r k. (O3 k r a b, Monoidal k, con (), forall α β. (con α, con β) => con (α, β), con ~ Obj k) => P k r a %1 -> P k r b %1 -> P k r (a, b) Source #
ignore :: (Monoidal k, O3 k r a (), forall α β. (con α, con β) => con (α, β), con ~ Obj k) => P k r () %1 -> P k r a %1 -> P k r a Source #