我想重写一下:

(define-syntax match-rewriter
  (syntax-rules ()
    ((_ (patt body) ...)
      (λ (x) (match x (patt body) ... (_ x))))))

使用(define-syntax-rule模式模板),但我似乎无法正确理解语法。任何建议表示赞赏。

谢谢。

最佳答案

尝试:

(define-syntax-rule (match-rewriter (patt body) ...)
  (lambda (x) (match x (patt body) ... (_ x))))

关于scheme - 方案: define-syntax-rule pattern matching syntax,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5293572/

10-11 18:20