Re: &key vs :key in the lambda list
Lassi Kortela 01 Nov 2019 23:27 UTC
> I had understood that you liked me (not too serious) idea of using colon
> names for non-hygienic keywords and colon-free names for hygienic keywords.
I love that idea, but at the call site (call/kw). You're right, though.
It does mess with hygienic keywords in the lambda list. I didn't think
it through.
I guess that calls for another vote. Who would rather have:
1) non-hygienic keywords using (lambda/kw (:key foo bar) ...)
2) non-hygienic keywords using (lambda/kw (&key :foo :bar) ...)
Option 2 leaves the door open for hygienic keywords in the future using
(lambda/kw (&key foo bar) ...). With option 1 hygienic keywords would
need a more complex syntax: something like (lambda/kw (:key (hygienic
foo) (hygienic bar)) ...) or perhaps (lambda/kw (:hygienic-key foo bar)
...).
Personally, I think I prefer option 1. An explicit :hygienic-key is
pretty nice since casual users may not understand the distinction
between hygienic and non-hygienic keywords.