3 ms·
Racket has syntax-case[1], which is hygienic, but allows you to break hygiene if you need to. Racket also supports defmacro[2] like Common Lisp, and it's actua
by wtetzner 8y ago
Racket has syntax-case[1], which is hygienic, but allows you to break hygiene if you need to.
Racket also supports defmacro[2] like Common Lisp, and it's actually implemented using syntax-case.
I would argue that syntax-case is at least as powerful as defmacro.
[1] https://docs.racket-lang.org/guide/syntax-case.html https://docs.racket-lang.org/guide/syntax-case.html
[2] https://docs.racket-lang.org/compatibility/defmacro.html https://docs.racket-lang.org/compatibility/defmacro.html