2011-03-14 3 views
1

구문 규칙을 정의계획 :이 재 작성하고자하는 패턴 일치 구문

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

(정의 구문 규칙을 패턴 템플릿)을 사용하지만 구문 권리를 얻을 수없는 것. 모든 조언을 부탁드립니다.

감사합니다.

답변

1

시도 :

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

감사합니다! 그게 거의 정확히 내가 사용하고있는 것이지만 나는 패턴에서 벗어나는 추가 괄호 쌍이 있음을 알았습니다. – Schemer