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

DLW's message and Fateman's FLOOR.



I don't think we need a new declaration.  If you want to suppress the
return of multiple values for some form in tail-recursive position, you
can easily do that with, for example,

... (return (prog1 (trunc x y))) ...

Static analysis at compile time will now show that only one value is
coming back.  As Rod Brooks points out, one would seldom bother with
this: it is useful only in a call to a multiple-value producer in
tail-recursive position in a place where the speed matters.  The use of
TRUNC and friends in a context where the consumer of the value is
lexically apparent can be optimized at compile-time.

-- Scott