From e715ca10ea99b631c51733b81bc46bc2880e5fa1 Mon Sep 17 00:00:00 2001 From: Yuichi Nishiwaki Date: Sat, 19 Jul 2014 11:23:14 +0900 Subject: [PATCH] add capture-syntactic-environment. close #96 --- piclib/prelude.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/piclib/prelude.scm b/piclib/prelude.scm index abc54dc2..6aede272 100644 --- a/piclib/prelude.scm +++ b/piclib/prelude.scm @@ -96,6 +96,10 @@ (define (close-syntax form env) (make-syntactic-closure env '() form)) + (define-syntax capture-syntactic-environment + (lambda (form use-env mac-env) + (list (cadr form) (list (make-identifier 'quote mac-env) mac-env)))) + (define (sc-macro-transformer f) (lambda (expr use-env mac-env) (make-syntactic-closure mac-env '() (f expr use-env)))) @@ -180,6 +184,7 @@ (export make-syntactic-closure close-syntax + capture-syntactic-environment sc-macro-transformer rsc-macro-transformer er-macro-transformer