Deterministic and Nondeterministic Flowchart Interpretations

Abstract Programming languages are studied in the abstract. Algebraic theories supply the syntax for programming languages. Semantics is provided by coproduct preserving functors from the algebraic theory to some semantic category with finite coproducts. Deterministic programming languages are provided when the semantic domain is the category of pointed sets and point preserving functions. Nondeterministic programming languages occur when the semantic domain is the category of Abelian monoids. The class of all nondeterministic programming languages with a fixed syntax is shown to be a variety of algebras. All classes of deterministic programming languages that allow branching are shown to be nonvarietal. Other properties of classes of programming languages are studied using category theory.

[1]  Jean H. Gallier,et al.  Nondeterministic Flowchart Programs with Recursive Procedures: Semantics and Correctness II , 1981, Theor. Comput. Sci..

[2]  C. C. Elgot,et al.  Vector Iteration in Pointed Iterative Theories , 1980 .

[3]  Horst Herrlich,et al.  Category theory , 1979 .

[4]  Calvin C. Elgot,et al.  Algebraic theories and program schemes , 1971, Symposium on Semantics of Algorithmic Languages.

[5]  James S. Johnson,et al.  On modules over a semiring , 1970 .

[6]  Bruno Courcelle,et al.  Algebraic families of interpretations , 1976, 17th Annual Symposium on Foundations of Computer Science (sfcs 1976).

[7]  C. C. Elgot Structured Programming With and Without GO TO Statements , 1976, IEEE Trans. Software Eng..

[8]  Stephen L. Bloom,et al.  The Existence and Construction of Free Iterative Theories , 1976, J. Comput. Syst. Sci..

[9]  M. Arbib,et al.  Partially additive categories and flow-diagram semantics☆ , 1980 .

[10]  C. C. Elgot Monadic Computation And Iterative Algebraic Theories , 1982 .

[11]  Joseph A. Goguen,et al.  Rational algebraic theories and fixed-point solutions , 1976, 17th Annual Symposium on Foundations of Computer Science (sfcs 1976).

[12]  James W. Thatcher,et al.  Programming Languages as Mathematical Objects , 1978, MFCS.

[13]  Sheila A. Greibach,et al.  Theory of Program Structures: Schemes, Semantics, Verification , 1976, Lecture Notes in Computer Science.

[14]  Jean H. Gallier Recursion Schemes and Generalized Interpretations (Extended Abstract) , 1979, ICALP.

[15]  Susanna Ginali,et al.  Regular Trees and the Free Iterative Theory , 1979, J. Comput. Syst. Sci..

[16]  Joseph A. Goguen,et al.  On Homomorphisms, Correctness, Termination, Unfoldments, and Equivalence of Flow Diagram Programs , 1974, J. Comput. Syst. Sci..

[17]  Bodo Pareigis,et al.  Categories and Functors , 1970 .

[18]  Calvin C. Elgot The Common Algebraic Structure of Exit-Automata and Machines , 1970 .