On Apr 13, 2013, at 21:34 , Stas Boukarev <stassats@gmail.commailto:stassats@gmail.com> wrote:
Antoniotti Marco <antoniotti.marco@disco.unimib.itmailto:antoniotti.marco@disco.unimib.it> writes:
On Apr 13, 2013, at 20:02 , Stas Boukarev <stassats@gmail.commailto:stassats@gmail.com> wrote:
Antoniotti Marco <antoniotti.marco@disco.unimib.itmailto:antoniotti.marco@disco.unimib.it> writes:
(defmacro foo (n &optional ((s &key d f) '(42222 :f 33))) `(list ,f ,n ,s ,d))
it appears to work on SBCL, CCL and LW (just changed a few things and do not have an Allegro running)
It is nice, but I believe that the CLHS says otherwise. What do you mean, CLHS says otherwise? See http://www.lispworks.com/reference/HyperSpec/Body/03_ddab.htm
Good catch.
And yet...
http://www.lispworks.com/documentation/HyperSpec/Body/03_dd.htm And yet, what? Nothing stated there contradicts the previous section.
optvars::= [&optional {var | (var [init-form [supplied-p-parameter]])}*]
It is true that the the next section you cite clarifies that 'var' can be a destructuring list, however, the above can be confusing; at least it was to me.
And why is this in pro@?
Because I am a pro (albeit a small one) and this is a matter of inconsistencies in the spec?
It would appear to me that questions, which could be resolved by careful reading of the spec, are out of scope of this mailing list, but what do I know?
Well, I learned something I did not know, and it may have refreshed people' memories. Is that so bad? I apologize for having wasted your obviously very valuable time.
Cheers
-- Marco Antoniotti, Associate Professor tel. +39 - 02 64 48 79 01 DISCo, Università Milano Bicocca U14 2043 http://bimib.disco.unimib.it Viale Sarca 336 I-20126 Milan (MI) ITALY
Please note that I am not checking my Spam-box anymore. Please do not forward this email without asking me first.