diff options
author | Noah Lavine <nlavine@haverford.edu> | 2011-02-01 10:42:50 -0500 |
---|---|---|
committer | Noah Lavine <nlavine@haverford.edu> | 2011-09-05 21:50:50 -0400 |
commit | e6ee9563097012965c8f9aaf0dab1b1a07015d1a (patch) | |
tree | 29f83c4c1a0b8ea9c2acc61b6bc037170e0b7a38 | |
parent | 0cca727f72c6bbc799f2b9358889f57ef4a2055d (diff) | |
download | guile-e6ee9563097012965c8f9aaf0dab1b1a07015d1a.tar.gz |
peg: remove unhygienic safe-bind, safe-bind-f
* module/ice-9/peg.scm (safe-bind, safe-bind-f): Remove.
-rw-r--r-- | module/ice-9/peg.scm | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/module/ice-9/peg.scm b/module/ice-9/peg.scm index 2219b60ba..729980fd0 100644 --- a/module/ice-9/peg.scm +++ b/module/ice-9/peg.scm @@ -27,46 +27,6 @@ (eval-when (compile load eval) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;;;; CONVENIENCE MACROS -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(define (eeval exp) - (eval exp (interaction-environment))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;;;; MACRO BUILDERS -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;; Safe-bind helps to bind macros safely. -;; e.g.: -;; (safe-bind -;; (a b) -;; `(,a ,b)) -;; gives: -;; (#<uninterned-symbol a cc608d0> #<uninterned-symbol b cc608a0>) -(define-syntax safe-bind - (lambda (x) - (syntax-case x () - ((_ vals . actions) - (datum->syntax x (apply safe-bind-f - (cons - (syntax->datum #'vals) - (syntax->datum #'actions)))))))) -;; (define-macro (safe-bind vals . actions) -;; (apply safe-bind-f (cons vals actions))) -(define (safe-bind-f vals . actions) - `(let ,(map (lambda (val) `(,val (make-symbol ,(symbol->string val)))) vals) - ,@actions)) - -;; Unsafe-bind is like safe-bind but uses symbols that are easier to read while -;; debugging rather than safe ones. Currently unused. -;; (define-macro (unsafe-bind vals . actions) -;; (apply unsafe-bind-f (cons vals actions))) -;; (define (unsafe-bind-f vals . actions) -;; `(let ,(map (lambda (val) `(,val ',val)) vals) -;; ,@actions)) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;; LOOPING CONSTRUCTS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |