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>