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

Memorial Day Ballot comments

    Date: 30 May 1983 16:54 EDT
    From: Kent M. Pitman <KMP @ MIT-MC>

     6. No	Actually, if NIL is allowed in place of any variable to be bound or
    	set meaning IGNORE, I support the proposal.

I think I'd prefer to limit this strictly to MULTIPLE-VALUE, and not try to
allow NIL in place of a variable in MULTIPLE-VALUE-BIND.  When I suggested the
latter I hadn't thought through the implications.  Making this strictly a
MULTIPLE-VALUE feature should limit the irregularity.

     8. (DEFMACRO FOO (&OPTIONAL ((FOO . BAR) '(A . B)) ...) ...)
    	to work. This, too, can be useful. Then the restriction 
    	wouldn't be "left of &" but would rather be "any place that
    	is unambiguously reserved for variable names" or some such.

This is a good way to explain it.  DEFMACRO, and its underlying primitive
macro DESTRUCTURING-BIND, accept lambda-list syntax except that any tree
can be used where a variable is allowed.  Ambiguity, which occurs only after
&OPTIONAL and &KEY, is uniformly resolved in favor of lambda-list syntax.
If our present implementation contains any deviation from this (the only
one I know of is not recognizing &KEY) it is broken and we will fix it.

    12. Yes	I dispute the claim that DEFSTRUCT can't already work in a site-
    	independent way. You could put a unique marker in slot0 of the
    	defstruct (eg, a gensym whose plist pointed at the real name of the
    	structure (which would in turn point back at the gensym)).

The reason this doesn't work is that the type system is required to understand
named structures, and the type system is built into each implementation.

    15. Yes	With regard to *PRINT-READABLY*, etc., the manual should give 
    	explicit advice to users saying that they must test this flag 
    	when writing print methods for things that print with #<...>, 
    	otherwise this flag will be of less value.

There's a macro in the Lisp machine to aid in this.  I mailed documentation
on it to Fahlman and Steele, perhaps they can make it stylistically consistent
with Common Lisp and put it on a ballot.