CVS difference for ai05s/ai05-0177-1.txt
--- ai05s/ai05-0177-1.txt 2010/11/20 07:47:30 1.6
+++ ai05s/ai05-0177-1.txt 2011/01/03 20:00:59 1.7
@@ -1,4 +1,4 @@
-!standard 3.1(3/2) 10-11-19 AI05-0177-1/05
+!standard 3.1(3/2) 11-01-03 AI05-0177-1/06
@@ -51,20 +51,19 @@
- function_specification is (<*parameterized_*expression>);
+ function_specification is (expression>);
-[Note: The parens are needed to clearly (?) separate an expression function
-from the start of a normal function body. Perhaps it would be
-better to use a keyword somewhere to make it crystal-clear.]
+[Note: The parens are needed to clearly separate an expression function
+from the start of a normal function body.]
-The expected type of the parameterized_expression is that of the return subtype
-of the function_specification.
+The expected type of the expression of an expression function is that of the
+return subtype of the function_specification.
-Within the parameterized_expression, the names of the parameters of the
+Within the expression of an expression function, the names of the parameters of the
function_specification are directly visible.
The dynamic semantics are the same as a function whose body contains nothing but
An expression function can be used as a declaration or as the completion of
a function specification. If used as a completion, the completion can be
@@ -72,7 +71,7 @@
is in a package). Specifically, expression functions in a private part can
complete function declarations from the visible part.
-Freezing: The parameterize expression is frozen in the same way as default
+The expression of an expression function is frozen in the same way as default
expression. That is, freezing is only be performed at the point of a call of the
function, with the expression essentially inlined at that point. (Of course, if
that call is in a default expression, the freezing would be deferred again.)
Questions? Ask the ACAA Technical Agent