define-syntax 是 Racket 实现 macro 的关键字之一。 defmacro 是 使用 symbol-based macro systems 的语言(e.g. Scheme or Common Lisp) 实现 macro 的关键字。
当然 Racket 为了方便从这些语言移植代码,在 compatibility-lib 包对 defmacro 关键字(compatibility/defmacro)进行兼容。不过 Racket 中不建议使用 defmacro ,而推荐使用 syntax-parse or define-syntax-parse-rule 。