[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Baby-Doe and friends

I applaud Kent's cogent attempt to find a rational terminology.
His point about the confusing uses of "VALUES" is well-taken.

Here is another approach to the question.  Consider an intuitive
model in which arguments are "passed down" and values are
"returned up".  (Yes, I know this runs afoul of the One True Way
of tail-recursion, but it suits my purposes here.)

Then we can describe the two proposed procedures in a reasonably symmetric
fashion: VALUES takes a set of objects headed downward as arguments and
bounces them back upward as values.  (Think of a mirror.  I would have said
"reflects" instead of "bounces" except the former already has another
technical meaning.)  BABY-DOE takes a set of objects headed upward as
values and bounces them back downward as arguments.

I believe this symmetry to be quite real; the procedures seem asymmetric
only as a consequence of the asymmetry of function call notation, rather
than as a consequence of their intrinsic behaviors.

Therefore, if we retain the name VALUES for the one, one might reach the
logical, if not entirely aesthetic, conclusion that BABY-DOE should be