s7 suggestion
bil@xxxxxx
(29 Oct 2019 13:40 UTC)
|
Re: s7 suggestion
Lassi Kortela
(29 Oct 2019 15:15 UTC)
|
Re: s7 suggestion
bil@xxxxxx
(29 Oct 2019 15:56 UTC)
|
Re: s7 suggestion
Lassi Kortela
(29 Oct 2019 16:19 UTC)
|
Re: s7 suggestion
Lassi Kortela
(29 Oct 2019 16:32 UTC)
|
Re: s7 suggestion
bil@xxxxxx
(29 Oct 2019 17:54 UTC)
|
Re: s7 suggestion
Lassi Kortela
(29 Oct 2019 18:07 UTC)
|
Re: s7 suggestion
John Cowan
(01 Nov 2019 21:27 UTC)
|
Re: s7 suggestion Lassi Kortela (01 Nov 2019 21:36 UTC)
|
Re: s7 suggestion
John Cowan
(01 Nov 2019 23:03 UTC)
|
&key vs :key in the lambda list
Lassi Kortela
(01 Nov 2019 23:17 UTC)
|
Re: &key vs :key in the lambda list
John Cowan
(01 Nov 2019 23:18 UTC)
|
Re: &key vs :key in the lambda list
Lassi Kortela
(01 Nov 2019 23:27 UTC)
|
Syntax for hygienic vs non-hygienic keywords
Lassi Kortela
(01 Nov 2019 23:33 UTC)
|
Re: allow-other-keys
bil@xxxxxx
(29 Oct 2019 19:51 UTC)
|
Re: s7 suggestion
Marc Nieper-Wißkirchen
(29 Oct 2019 16:33 UTC)
|
Re: s7 suggestion
Lassi Kortela
(29 Oct 2019 16:53 UTC)
|
Re: s7 suggestion
bil@xxxxxx
(29 Oct 2019 17:10 UTC)
|
Including 177 in s7?
Lassi Kortela
(29 Oct 2019 17:34 UTC)
|
>> The syntax may still change a bit; John advocates (keyword-lambda (a b >> &key c d) ...) instead of (keyword-lambda (a b (c d)) ...). > > I see I have yet to write down why. Two reasons: > > 1) The use of &key (I assume non-hygienically) is much more transparent to > the human reader. Parentheses could mean anything at all > > 2) It's much easier to search documentation for "&key" than to search for > parenthesis-grouping rules. These are good reasons. While &key is used in Common Lisp lambda-list syntax, I would prefer :key which is used by Gauche, Sagittarius and STklos. Guile and Racket also use #:key which has the colon. So :key is closer to current Scheme practice. The twist is that some Schemes read :key as a keyword object whereas others read it as a symbol. This shouldn't be a problem with a powerful macro system (syntax-case, explicit renaming, define-macro) where we can call procedures to convert between keywords and symbols at will. &key does not have the above problem. I also worked from the assumption that &key or :key is non-hygienic. In the case of :key it probably has to be, since in some implementations it will be a keyword object and those are currently non-hygienic everywhere.