Poor man's implementation of SRFI 206
Marc Nieper-Wißkirchen
(16 Aug 2020 09:48 UTC)
|
Re: Poor man's implementation of SRFI 206
Arthur A. Gleckler
(18 Aug 2020 18:04 UTC)
|
Re: Poor man's implementation of SRFI 206
Felix Thibault
(19 Aug 2020 15:09 UTC)
|
Re: Poor man's implementation of SRFI 206
Marc Nieper-Wißkirchen
(19 Aug 2020 14:35 UTC)
|
Re: Poor man's implementation of SRFI 206
Felix Thibault
(19 Aug 2020 21:17 UTC)
|
Re: Poor man's implementation of SRFI 206
Marc Nieper-Wißkirchen
(20 Aug 2020 05:36 UTC)
|
Re: Poor man's implementation of SRFI 206
John Cowan
(20 Aug 2020 17:02 UTC)
|
Re: Poor man's implementation of SRFI 206
Marc Nieper-Wißkirchen
(20 Aug 2020 18:58 UTC)
|
Re: Poor man's implementation of SRFI 206
Felix Thibault
(20 Aug 2020 20:23 UTC)
|
Re: Poor man's implementation of SRFI 206 Marc Nieper-Wißkirchen (20 Aug 2020 20:30 UTC)
|
Am Do., 20. Aug. 2020 um 22:23 Uhr schrieb Felix Thibault <xxxxxx@gmail.com>: > The library already doesn't include ... in the literals list, match-one and match-extract-vars pass their arguments off to match-check-ellipsis when the time comes to look for them, then if one is found arguments get passed to whichever match-gen-ellipsis is appropriate. So it's only the ..1/..=/..* forms that get picked up as literals by match-two and match-extract-vars (then passed off to their respective match-gen-ellipsis). I haven't looked at the source code. But then you can hopefully play the same trick with "_" with not too many conversions into continuation-passing style. > > On Thu, Aug 20, 2020 at 2:58 PM Marc Nieper-Wißkirchen <xxxxxx@nieper-wisskirchen.de> wrote: >> >> Am Do., 20. Aug. 2020 um 19:02 Uhr schrieb John Cowan <xxxxxx@ccil.org>: >> >> > _ banned explicitly in R6RS >> >> Not banned, but not easily matchable with an R7RS-conformant implementation. >> >> > ... OK because a peculiar identifier >> >> This has the same problem as _ for R6RS, I think. >> >> PS Contrary to what I said before, _ (and ... as well) are actually >> matchable with syntax-rules even if they don't appear as part of the >> list of literal identifiers. First, check with the usual tricks that >> some input element is an identifier and then expand into a macro that >> uses that element as part of the pattern and template and which >> behaves differently (but well-defined) whether the inserted element is >> _ or not. The same holds true for ....