What about nested ellipsis? Amirouche (02 Dec 2021 11:29 UTC)
Re: What about nested ellipsis? Marc Nieper-Wißkirchen (03 Dec 2021 06:25 UTC)

What about nested ellipsis? Amirouche 02 Dec 2021 11:29 UTC

Something I stumble upon frequently is the following kind pattern

(match '(let ((a0 b0) (a1 b1) (a2 b2)) e0 e1 e2)
  (`(let ((,a* ,b*) ...) e* ...) (do a* b* e*)))

Another pattern, I do not recall where I saw this, I think it is
in nanopass compiler from Andy Keep scheme-to-c, the pattern
looks like:

  `(((a* b*) ...) ...)

An example argument expression is

   '(((a0 b0) (a1 b1)) ((x0 y0) (x1 y1))))

Then the pattern match yields:

    a* => a0 a1 x0 x1
    b* => b0 b1 y0 y1

Do you think it is useful?

ref: http://nanopass.org/
ref: https://github.com/akeep/scheme-to-c
ref: https://srfi.schemers.org/srfi-200/
ref: https://srfi.schemers.org/srfi-204/