Re: with-syntax return error in Guile, not in Kawa or Racket
Damien Mattei <[email protected]>
| Newsgroups | gmane.lisp.guile.user |
|---|---|
| Message-ID | <CADEOadf=-L8QmaM5tzhHJGspdYDKDbh9=RKzkdtwMbuQ2L-vNw@mail.gmail.com> |
On Mon, May 6, 2024 at 11:41 AM Jean Abou Samra <[email protected]> wrote: > > (with-syntax ((parsed-evaluated-args > > (datum->syntax #f (cons 'list > (optimizer-parse-square-brackets-arguments-lister > > (syntax->datum > #'args-brackets)))))) > > That should work, but it's also non-hygienic. For example, it will > be affected if the user does > > (let ((list ...)) > (call-your-macro ...)) > > and since you use #f in the datum->syntax call, it will also strip away > all hygiene annotations from the args-brackets, causing problems inside > that as well. > i changed #f to stx in the macro > > I'd advise you refactor your > optimizer-parse-square-brackets-arguments-lister > function so that it takes #'args-brackets instead of (syntax->datum > #'args-brackets) > and works with it in a hygienic way. >