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


re: I still think the with-package-iterator syntax isn't right.  The way
    you have it now, there is a required argument <package> which by
    default is ignored! 

The only time the <package> argument is ignored is when the other arguments
imply DO-ALL-SYMBOLS.  MLY's original suggestion (to me, privately) was to 
have the <package> argument be optional; that would work too, and make for a
bit nicer syntax in the one case of DO-ALL-SYMBOLS.  Richard [MLY] actually
suggested dropping the DO-ALL-SYMBOLS case, but I don't think we can do that.

However, there is a constraint that isn't easy to express in the existing 
CL language: namely, that the <package> argument is required if any of the 
other keyword arguments are supplied as non-nil.  One way out of this bind 
is to let the &optional <package> argument default to the symbol *PACKAGE*; 
this way, there would be no problem of syntax consistency, but only that of 
remembering that, in the DO-ALL-SYMBOLS case, passing the optional argument
doesn't do anything.

-- JonL --