You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Perhaps we don't have to consider arrows as separate from control operators. Given f :: arr a b we can write e = (>>> f) :: arr e a -> arr e b. Following definition 4 (page 5) of "A new notation for arrows" we need to check that "e satisfies a ... naturality property"
e ((k ~> θ1) x1) ... ((k ~> θn) xn) = (k ~> θ) (e x1 ... xn)
For our e this amounts to showing that e ((arr k >>>) x) = (arr k >>>) (e x) which indeed holds. Thus every arrow gives rise to a control operator. On the other hand we can recover the arrow from the control operator: f = e id.
Therefore it seems that considering control operators only is sufficient.
The text was updated successfully, but these errors were encountered:
Perhaps we don't have to consider arrows as separate from control operators. Given
f :: arr a b
we can writee = (>>> f) :: arr e a -> arr e b
. Following definition 4 (page 5) of "A new notation for arrows" we need to check that "e satisfies a ... naturality property"For our
e
this amounts to showing thate ((arr k >>>) x) = (arr k >>>) (e x)
which indeed holds. Thus every arrow gives rise to a control operator. On the other hand we can recover the arrow from the control operator:f = e id
.Therefore it seems that considering control operators only is sufficient.
The text was updated successfully, but these errors were encountered: