Hi!

Stefan Israelsson Tampe <stefan.ita...@gmail.com> skribis:

> | It’s true that it’s annoying that the wrong binding is silently used.
> | Do you think it’s common enough to justify new syntax?
>
> Yes this highlights a comon problem when implementing racket match with #`.

Sure, but it’s not good-style.  ;-)  In general, ‘syntax-case’ is great,
but it’s low-level plumbing to be used with care, compared to
‘syntax-rules’.

> I do think
> that the best solution is to somehow extend the syntax expander to mimic my
> sugested
> #. and #.@. The simple solution is to rewrite according to
>
> #`(... #.((x y) (f #'x #'y)))
>
> ->
>
> #`(let-syntax ((g (lambda (x) (syntax-case x () ((_ x y) (f #'x #'y))))))
>       (... (g x y))

Unlike syntax-{quote,unquote,...}, #. has no non-syntax-prefixed
equivalent.  And what it does is non-trivial.  So I don’t feel
comfortable with this extension, FWIW.

[...]

> I also feel that the issue needs to be
> liffted up to the
> community of at least syntax-case user crowd before doing anything Ill try
> to spur
> some discussions on it and come back later!

Yes, this should be discussed on c.l.s or scheme-reports.

Thanks,
Ludo’.

Reply via email to