Science of Computer Programming - Special issue on mathematics of program construction
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Closed Freyd- and kappa-categories
ICAL '99 Proceedings of the 26th International Colloquium on Automata, Languages and Programming
Complete Axioms for Categorical Fixed-Point Operators
LICS '00 Proceedings of the 15th Annual IEEE Symposium on Logic in Computer Science
Premonoidal categories and notions of computation
Mathematical Structures in Computer Science
Arrows, like Monads, are Monoids
Electronic Notes in Theoretical Computer Science (ENTCS)
Journal of Functional Programming
Hi-index | 0.00 |
Arrows involving a loop operator provide an interesting programming methodology for looping computation. On the other hand, Haskell can define cyclic data structures by recursive definitions. This paper shows that there exists a common principle underlying both cyclic data and cyclic computations of arrow programs. We examine three concrete examples of constructing looping arrows from a syntactic structure called cyclic terms. Then we present a general pattern of constructing correct looping arrows, that is based on categorical semantics of loops and arrows, i.e. traced and Freyd categories.