Existing binding forms
Wolfgang Corcoran-Mathe
(03 Jul 2020 16:38 UTC)
|
Re: Existing binding forms
Panicz Maciej Godek
(03 Jul 2020 20:15 UTC)
|
Re: Existing binding forms Marc Nieper-Wißkirchen (03 Jul 2020 21:11 UTC)
|
Re: Existing binding forms
Panicz Maciej Godek
(04 Jul 2020 06:12 UTC)
|
Re: Existing binding forms
Wolfgang Corcoran-Mathe
(04 Jul 2020 00:12 UTC)
|
Re: Existing binding forms
Panicz Maciej Godek
(04 Jul 2020 06:32 UTC)
|
Re: Existing binding forms
Wolfgang Corcoran-Mathe
(04 Jul 2020 13:39 UTC)
|
Re: Existing binding forms Marc Nieper-WiÃkirchen 03 Jul 2020 21:10 UTC
Am Fr., 3. Juli 2020 um 22:15 Uhr schrieb Panicz Maciej Godek <xxxxxx@gmail.com>: > I'm not sure which extensions you're talking about. But if you're suggesting > that SRFI-201 should propose e.g. "match-let" instead of "let", then it would > no longer be an "extension to the core Scheme binding', or would it? > > Similarly, one could insist not to use the (define (f . args) . body) > to desugar to the core form (define f (lambda args . body)), > and insist to have a form "define-procedure" (or "define-lambda", > or whatever) that would be used as (define-procedure (f . args) . body). > But this would not be in the spirit of my proposal. I think one major point is that each syntactic extension of the core syntax will make other possible and likewise well-grounded syntactic extensions impossible. Thus, a conservative approach makes sense to me. For example, we have been discussing keywords in SRFI 177 at length. In the end, we may get a `lambda/keywords', which creates a procedure accepting optional keyword arguments. Maybe there is a way to sensible merge the syntax of `lambda/keywords' with the usual `lambda' (as your `define-procedure' merges easily with `define'). But that syntax may be incompatible to the `match-lambda' syntax, so one can choose at most one way to extend `lambda'. Thus, it may look a bit premature to extend `lambda' to the syntax of SRFI 201 already now. If (at all), it shouldn't happen before R7RS-large is being finalized because then we have an overview of all candidates for syntactic extensions. And, maybe, it shouldn't even happen for R7RS-large but for R8RS because a core form is affected.