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

Re: sequential order of evaluation

    The choice is explicit in the rather informal formal semantics, which says
    the expressions must be evaluated sequentially in some permuted order.

To be more precise, the informal formal semantics says that whatever
permuted order is chosen must be used for ALL expressions.  That bothers
me much more than having it prohibit interleaving.

    How do the authors feel about adding the following note to section 4.1.3?
        Note:  Although the precise order of evaluation is unspecified, the
        expressions must be evaluated without interleaving.  Interleaving is
        not allowed because Scheme provides no facilities for serializing
        concurrent side effects.
Completely prohibiting interleaving seems too strong.

To kill two birds with one stone, I think the note should read something like:

    (1) The unspecified order-of-evaluation may be chosen differently for
        each expression.
    (2) An implementation is only required to guarantee a result that is 
        consistent with SOME sequential order-of-evaluation (and thus 
        interleaving is not necessarily prohibited).