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

Issue: FUNCTION-CALL-EVALUATION-ORDER (version 1)



    Date: 22 Mar 88 12:58:12 PST (Tue)
    From: willc%tekchips.CRL@tektronix.tek.com

    Problem Description:

    CLtL does not say whether the function expression of a call is evaluated
    before or after the argument expressions.

It also does not say in what order the argument expressions are evaluated!
Shouldn't we deal with that first, or at the same time?  As far as I know
current practice is always to evaluate the argument expressions in a function
call from left to right, and I would certainly support a proposal to mandate
that in the language.  Someone please tell me that I am confused and have
overlooked the place in CLtL that specifies the order of evaluation of
function arguments.

    Proposal (FUNCTION-CALL-EVALUATION-ORDER:UNSPECIFIED):

    Common Lisp does not specify whether the function expression of a call is
    evaluated before or after the argument expressions.  Programs that rely on
    a particular order of evaluation are in error.

I support this proposal.

    Current Practice:

    TI and Symbolics evaluate the function expression last.  Lucid and Coral
    sometimes evaluate the function expression first and at other times evaluate
    the function expression last.

Actually Symbolics is in the same camp as Lucid and Coral here, although
right now the answer is usually last.  Whether TI evaluates the function
first or last depends on which release of TI software you're using.