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

Re: Issue: PUSH-EVALUATION-ORDER (Version 2)



    Date: 23 Oct 87 17:01 PDT
    From: Masinter.pa@Xerox.COM

    Version 3 will change

     >> The phase "subforms of the reference" which appears several times in
    >> CLtL should be made more specific to be "subforms of the
    >> [generalized-variable manipulating macro] arguments".

    to

    >> The phase "subforms of the reference" which appears several times in
    >> CLtL should be made more specific to be "arguments of the
    >> [generalized-variable manipulating] macro".

    We like to get it right in the proposals.

Still not right, I think.  The term "arguments" is not in the index of
CLtL, but my reading of pp.57-9 is that the term "argument" refers to the
-result- of evaluating a subform of a function call, and the phrase
"arguments of a macro" is an oxymoron.  CLtL 57 defines "macro call,"
so I think the phrase you are looking for above is:

  "subforms of the macro call" (on p.99, context implies that 
  generalized-variable manipulating macros are referred to, in
  some other places it might be necessary to say so explicitly.
  Really we should provide a complete list of them.)

I don't see any definition of the word "subform" in CLtL either, although
it's used here and there.  It means a form (that is, something whose
syntactic use is such that it will be evaluated) that is nested inside
another form.  It does not mean any object nested inside a form regardless
of syntactic context.  The distinction is only a distinction because of
special forms and macros, of course.