|
Some terminology will be useful. It is perhaps best to read this section only
briefly, and to refer back to it when necessary.
The term expression will be used to refer to a textual entity. The term
value will be used to refer to a run-time value denoted by an expression.
To understand the difference between an expression and a value consider the
expressions 1+2 and 3. The expressions are textually different but they
denote the same value, namely the integer 3.
A function expression is any expression of the form function ... end function
or of the form func< ... | ... >. The former type of function expression will
be said to be in the statement form, the latter in the expression
form.
A function value is the run-time value denoted
by a function expression. As with integers, two function expressions can
be textually different while denoting the same (i.e., extensionally equal)
function value. To clearly distinguish function values from function
expressions, the notation FUNC( ... : ... ) will
be used to describe function
values.
The formal arguments of a function in the statement form are the identifiers
that appear between the brackets just after the function keyword, while
for a function in the expression form they are the identifiers
that appear before the |. The arguments to a function
are the expressions between the brackets when a function is applied.
The body of a function in the statement form is the statements after the
formal arguments. The body of a function in the expression form is the
expression after the | symbol.
An identifier is said to occur inside a function expression when
it is occurs textually anywhere in the body of a function.
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|