Re: Complexity of seq & related patterns
Wolfgang Corcoran-Mathe 07 Jan 2026 22:49 UTC
On 2025-11-25 11:37 +0100, Daphne Preston-Kendal wrote:
> Instead of making ‘seq’, ‘seq*’, and ‘seq/unordered’ explicitly exposed patterns, I will create transformer-creating procedures which create transformers for each of these types. So instead of writing:
>
> (define-pattern-syntax vector
> (syntax-rules ()
> ((_ subpat ...)
> (? vector?
> (seq vec ((idx 0 (+ idx 1)))
> (>= idx (vector-length vec))
> (vector-ref vec idx)
> subpat ...)))))
>
> you would write something like:
>
> (define-pattern-syntax vector
> (seq-pattern-transformer vector? vec
> ((idx 0 (+ idx 1)))
> (>= idx (vector-length vec))
> (vector-ref vec idx)))
Thanks, this is much better. (Sorry for taking forever to reply.)
--
Wolfgang Corcoran-Mathe <xxxxxx@sigwinch.xyz>