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

Issue: BACKQUOTE-COMMA-ATSIGN-DOT-COMMA (Version 1)



re: The meta-rules for backquote were derived "after the fact" as a way to
    explain what backquote did; the use of APPEND and the equivalences there
    were based on the old semantics of APPEND. Now that we've extended APPEND,
    we have to change the meta-rules of backquote, . . . 

Your assumption here can't be true -- The MacLisp implementation (and
others) carried out the now-debased optimization; yet the meta-rules
stand.  I'm very leery of changing these meta rules unless QUUX signs
off on it -- every time I've been tempted to dicker with them, I find
out that they are much deeper than a cursory glanch would suspect.  [I
thought Guy devised those "meta" rules -- if he didn't then the author
ought to be consulted.]


re: This requires fixing the example, so that 
     `((,a b) ,c ,@d)
    will be interpreted as
      (append (list (append (list a) (list 'b))) (list c) d)
    As far as I can tell, this is consistent with the way that Lucid Common
    Lisp's backquote works anyway.

But that's precisely what Greenwald reported as a bug!  As I explained
in previous mail, Lucid has the bug because when the decision to
reaffirm the "new" semantics for APPEND was made, no one noticed (or
cared about?)  the implications for backquote.

I think it would be putting the cart before the horse to try to 
institutionalize the now-debased optimization into the semantics of
backquote, as a way around the bug.  The advantage of not performing
this optimization is that the user need never be confused as to whether
or not ",@" will copy its argument, or share; currently a user can't be
sure because of the permitted ambiguity.

Note that Guy himself also acknowledged the validity of Greenwald's
complaint -- he claims that the _examples_ are invalid rather than
the rules.  Your proposal is just the opposite -- to keep the examples
valid and alter the rules to contain the essence of the "optimization".

    Date: Tue, 29 Nov 88 17:12:40 EST
    From: gls@Think.COM
    To: Greenwald@stony-brook.scrc.symbolics.com
    Cc: gls@Think.COM, Greenwald@stony-brook.scrc.symbolics.com,
	    common-lisp@sail.stanford.edu
    In-Reply-To: Michael Greenwald's message of Tue, 29 Nov 88 14:05 EST <19881129190543.1.GREENWALD@NOEL-COWARD.SCRC.Symbolics.COM>
    Subject: inconsistency in backquote spec?
    . . . 
    Because you sent the mail out to common-lisp@sail and not to
    any of the X3J13 mailing lists, I assumed that you were asking
    a question about the language as defined solely by the book.
    In other words, I assume that the audience for the common-lisp
    mailing list has not necessarily followed all of the X3J13 work.
    It is true that eventual adoption of this cleanup item [APPEND-DOTTED?]
    would invalidate the examples.

    --Guy


Guy,  wanna comment?


-- JonL --