diff options
author | michele.simionato <devnull@localhost> | 2009-02-09 18:28:58 +0000 |
---|---|---|
committer | michele.simionato <devnull@localhost> | 2009-02-09 18:28:58 +0000 |
commit | 6ef489b87a16b77e0db2223a9b13f6164e8d081c (patch) | |
tree | bd9104d6cb56fb2e5bb2c0ab5d4c7a09a93448fb /scheme | |
parent | e77c70bbfd0ad94b7ac563ab76bed5586c65861c (diff) | |
download | micheles-6ef489b87a16b77e0db2223a9b13f6164e8d081c.tar.gz |
Renamed block->local
Diffstat (limited to 'scheme')
-rw-r--r-- | scheme/sweet-macros.sls | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/scheme/sweet-macros.sls b/scheme/sweet-macros.sls index 1967cf2..5818e73 100644 --- a/scheme/sweet-macros.sls +++ b/scheme/sweet-macros.sls @@ -4,17 +4,17 @@ ;;; Email: michele.simionato@gmail.com ;;; Date: 07-Feb-2009 ;;; Licence: BSD -(export syntax-match def-syntax syntax-expand) +(export syntax-match def-syntax syntax-expand local) (import (rnrs)) ;; helper macro 1 -(define-syntax block +(define-syntax local (lambda (x) (syntax-case x () - ((block expr) + ((local expr) #'expr) - ((block (let-form name value) (l n v) ... expr) - #'(let-form ((name value)) (block (l n v) ... expr)))) + ((local (let-form name value) (l n v) ... expr) + #'(let-form ((name value)) (local (l n v) ... expr)))) )) ;; helper macro 2 @@ -48,7 +48,7 @@ (guarded-syntax-case () (sub local) ((self (local (let-form name value) ...) (literal ...) (sub patt skel . rest) ...) - #'(block (let-form name value) ... + #'(local (let-form name value) ... (guarded-syntax-case () (<literals> <patterns> <source> <transformer> literal ...) ((ctx <literals>) @@ -74,10 +74,12 @@ )) (define-syntax def-syntax - (syntax-match (extends) - (sub (def-syntax name (extends parent literal ...) clause ...) + (syntax-match (extends local) + (sub (def-syntax name (extends parent) + (local loc ...) (literal ...) + clause ...) #'(define-syntax name - (syntax-match (literal ...) + (syntax-match (local loc ...) (literal ...) clause ... (sub x ((parent <transformer>) #'x))))) (sub (def-syntax (name . args) skel . rest) |