- 769 名前:デフォルトの名無しさん mailto:sage [04/07/10 12:42]
- r5rs の 7.3 Derived expression types に書いてある、
case の定義について質問です。 template の最初の clause (+ の部分) を省いたら、 もとの定義とどういう違いが生まれるのでしょうか? それとも省略しても変わらないのでしょうか? (define-syntax case (syntax-rules (else) ((case (key ...) ;+ clauses ...) ;+ (let ((atom-key (key ...))) ;+ (case atom-key clauses ...)));+ ((case key (else result1 result2 ...)) (begin result1 result2 ...)) ((case key ((atoms ...) result1 result2 ...)) (if (memv key '(atoms ...)) (begin result1 result2 ...))) ((case key ((atoms ...) result1 result2 ...) clause clauses ...) (if (memv key '(atoms ...)) (begin result1 result2 ...) (case key clause clauses ...)))))
|

|