Title: |
Premonoidal categories and a graphical view of programs |

Author: |
Alan Jeffrey |

Abstract: |
This paper describes the relationship between two different presentations
of the semantics of programs:*Mixed data and control flow graphs*are commonly used in software engineering as a semi-formal notation for describing and analysing algorithms.*Category theory*is used as an abstract presentation of the mathematical structures used to give a formal semantics to programs.
In this paper, we formalize an appropriate notion of flow graph, and show that acyclic
flow graphs form the initial For languages with recursive definitions, we show that cyclic flow graphs form the
initial Finally, we conclude with some more speculative work, showing how closed structure (to represent higher-order functions) or two-categorical structure (to represent operational semantics) might be included in this graphical framework. The semantics has been implemented as a Java applet, which takes a program text and draws the corresponding flow graph (all the diagrams in this paper are drawn using this applet). The categorical presentation is based on Power and Robinson's |

Full Paper: |
[html] |