Fold and Unfold for Program Semantics

Hutton, Graham (1998) Fold and Unfold for Program Semantics. In: Proceedings of the 3rd ACM SIGPLAN International Conference on Functional Programming, September 1998, Baltimore, Maryland.

[img] PDF - Requires a PDF viewer such as GSview, Xpdf or Adobe Acrobat Reader
Download (169kB)

Abstract

In this paper we explain how recursion operators can be used to structure and reason about program semantics within a functional language. In particular, we show how the recursion operator fold can be used to structure denotational semantics, how the dual recursion operator unfold can be used to structure operational semantics, and how algebraic properties of these operators can be used to reason about program semantics. The techniques are explained with the aid of two main examples, the first concerning arithmetic expressions, and the second concerning Milner's concurrent language CCS. The aim of the paper is to give functional programmers new insights into recursion operators, program semantics, and the relationships between them.

Item Type: Conference or Workshop Item (Paper)
Schools/Departments: University of Nottingham UK Campus > Faculty of Science > School of Computer Science
Depositing User: Hutton, Graham
Date Deposited: 26 Oct 2005
Last Modified: 09 Oct 2007 15:50
URI: http://eprints.nottingham.ac.uk/id/eprint/230

Actions (Archive Staff Only)

Edit View Edit View