Next: 2.2. Recursive Functions for
Up: 2. Input Programs
Previous: 2. Input Programs
Our input language is a first-order functional language shown in Figure 1.
A program is a function definition which can be self-recursive.
A function definition is composed of a function name and alternatives
and each alternative is composed of a formal parameter pattern and a function body.
In the function body, labels are attached
to all subexpressions and variable patterns for identification.
Figure 1:
Syntax of Input Language
 |
In functional languages, data collections are declared using algebraic data types
which have recursive structures. In this paper, we restrict them as follows.
's are data constructors, which build new values belonging to the new data
type
.
is recursive because its
data constructors use arguments of
.
In this paper, we assume that a data constructor
uses one non-recursive argument of
type and
recursive arguments(
).
This is not a real limitation because
can be a tuple type.
Given a value
of
, we will refer
as non-recursive field and
as recursive field.
Next: 2.2. Recursive Functions for
Up: 2. Input Programs
Previous: 2. Input Programs
Joonseon Ahn
1999-09-04