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 rst 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.
We develop a calculus for lazy functional programming based on recursion operators associated with d...
this paper are related to "program verification" very much like predicate logic and its co...
Operational semantics gives meaning to terms in a programming language by defining a transition rela...
In this paper we explain how recursion operators can be used to structure and reason about program s...
Semantics of recursive programs has been extensively studied for more than 30 years, and now there e...
In functional programming, fold is a standard operator that encapsulates a simple pattern of recursi...
Recursion is considered a challenging programming technique by many students. There are two common a...
One style of functional programming is based purely on recursive equations. Such equations are easy ...
This paper formalizes and proves correct a compilation scheme for mutually-recursive definitions in ...
AbstractThis paper is about mathematical problems in programming language semantics and their influe...
We present an approach to inductive synthesis of functional programs based on the detection of recur...
Abstract. Higher-order encodings use functions provided by one language to represent variable binder...
AbstractThe question of extending semantic models for a programming language without recursion to a ...
Abstract. This paper provides a general account of the notion of recursive program schemes, studying...
AbstractThis paper aims at fitting a general class of recursive equations into the framework of `wel...
We develop a calculus for lazy functional programming based on recursion operators associated with d...
this paper are related to "program verification" very much like predicate logic and its co...
Operational semantics gives meaning to terms in a programming language by defining a transition rela...
In this paper we explain how recursion operators can be used to structure and reason about program s...
Semantics of recursive programs has been extensively studied for more than 30 years, and now there e...
In functional programming, fold is a standard operator that encapsulates a simple pattern of recursi...
Recursion is considered a challenging programming technique by many students. There are two common a...
One style of functional programming is based purely on recursive equations. Such equations are easy ...
This paper formalizes and proves correct a compilation scheme for mutually-recursive definitions in ...
AbstractThis paper is about mathematical problems in programming language semantics and their influe...
We present an approach to inductive synthesis of functional programs based on the detection of recur...
Abstract. Higher-order encodings use functions provided by one language to represent variable binder...
AbstractThe question of extending semantic models for a programming language without recursion to a ...
Abstract. This paper provides a general account of the notion of recursive program schemes, studying...
AbstractThis paper aims at fitting a general class of recursive equations into the framework of `wel...
We develop a calculus for lazy functional programming based on recursion operators associated with d...
this paper are related to "program verification" very much like predicate logic and its co...
Operational semantics gives meaning to terms in a programming language by defining a transition rela...