From e49f9836f67cd65776eb4bfa5710c68b3ad8560c Mon Sep 17 00:00:00 2001 From: zeptometer Date: Mon, 26 Jan 2015 16:03:34 +0900 Subject: [PATCH] use escape instead of call/cc in syntax-rules.scm --- piclib/picrin/syntax-rules.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/piclib/picrin/syntax-rules.scm b/piclib/picrin/syntax-rules.scm index 59d2b8e9..6eeef05b 100644 --- a/piclib/picrin/syntax-rules.scm +++ b/piclib/picrin/syntax-rules.scm @@ -1,5 +1,6 @@ (define-library (picrin syntax-rules) (import (picrin base) + (picrin control) (picrin macro)) (define-syntax define-auxiliary-syntax @@ -74,7 +75,7 @@ (define _unquote (r 'unquote)) (define _unquote-splicing (r 'unquote-splicing)) (define _syntax-error (r 'syntax-error)) - (define _call/cc (r 'call/cc)) + (define _escape (r 'escape)) (define _er-macro-transformer (r 'er-macro-transformer)) (define (var->sym v) @@ -303,7 +304,7 @@ (match (list-ref (car clauses) 1)) (expand (list-ref (car clauses) 2))) `(,_let ,(map (lambda (v) (list (var->sym v) '())) vars) - (,_let ((result (,_call/cc (,_lambda (exit) ,match)))) + (,_let ((result (,_escape (,_lambda (exit) ,match)))) (,_if result ,expand ,(expand-clauses (cdr clauses) rename))))))))