Professor GRAHAM HUTTON GRAHAM.HUTTON@NOTTINGHAM.AC.UK
PROFESSOR OF COMPUTER SCIENCE
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.
Hutton, G. Fold and Unfold for Program Semantics. Presented at Proceedings of the 3rd ACM SIGPLAN International Conference on Functional Programming
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 | https://nottingham-repository.worktribe.com/output/1024200 |
semantics.pdf
(169 Kb)
PDF
Quotient Haskell: Lightweight Quotient Types for All
(2024)
Journal Article
Programming language semantics: It’s easy as 1,2,3
(2023)
Journal Article
Monadic compiler calculation (functional pearl)
(2022)
Journal Article
Calculating dependently-typed compilers (functional pearl)
(2021)
Journal Article
Calculating correct compilers II: Return of the register machines
(2020)
Journal Article
About Repository@Nottingham
Administrator e-mail: discovery-access-systems@nottingham.ac.uk
This application uses the following open-source libraries:
Apache License Version 2.0 (http://www.apache.org/licenses/)
Apache License Version 2.0 (http://www.apache.org/licenses/)
SIL OFL 1.1 (http://scripts.sil.org/OFL)
MIT License (http://opensource.org/licenses/mit-license.html)
CC BY 3.0 ( http://creativecommons.org/licenses/by/3.0/)
Powered by Worktribe © 2025
Advanced Search