squares-0.2: The double category of Hask functors and profunctors
LicenseBSD-style (see the file LICENSE)
Maintainersjoerd@w3future.com
Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Arrow.Square

Description

 
Synopsis

Documentation

arr :: (Arrow a, Profunctor a) => Square '[] '[a] '[] '[] Source #

+-----+
|     |
|  @--a
|     |
+-----+

(>>>) :: (Arrow a, Profunctor a) => Square '[a, a] '[a] '[] '[] Source #

+-----+
a--\  |
|  @--a
a--/  |
+-----+

second :: (Arrow a, Profunctor a) => Square '[a] '[a] '[(,) d] '[(,) d] Source #

+-_⊗d-+
|  v  |
a--@--a
|  v  |
+-_⊗d-+

(***) :: Arrow a => Square21 '[a] '[a] '[a] (,) (,) Source #

H²-⊗--H
|  v  |
a²-@--a
|  v  |
H²-⊗--H

right :: (ArrowChoice a, Profunctor a) => Square '[a] '[a] '[Either d] '[Either d] Source #

+-_⊕d-+
|  v  |
a--@--a
|  v  |
+-_⊕d-+

(+++) :: ArrowChoice a => Square21 '[a] '[a] '[a] Either Either Source #

H²-⊕--H
|  v  |
a²-@--a
|  v  |
H²-⊕--H