Skip to main content

Research Repository

Advanced Search

Fold and Unfold for Program Semantics

Hutton, Graham

Authors



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.

Citation

Hutton, G. (1998). Fold and Unfold for Program Semantics

Conference Name Proceedings of the 3rd ACM SIGPLAN International Conference on Functional Programming
Publication Date Jan 1, 1998
Deposit Date Oct 26, 2005
Publicly Available Date Oct 9, 2007
Peer Reviewed Peer Reviewed
Public URL http://eprints.nottingham.ac.uk/id/eprint/230
Copyright Statement Copyright information regarding this work can be found at the following address: http://eprints.nottingham.ac.uk/end_user_agreement.pdf

Files


semantics.pdf (169 Kb)
PDF

Copyright Statement
Copyright information regarding this work can be found at the following address: http://eprints.nottingham.ac.uk/end_user_agreement.pdf





You might also like



Downloadable Citations