diff options
-rw-r--r-- | module/language/tree-il/peval.scm | 10 | ||||
-rw-r--r-- | module/sxml/match.scm | 19 |
2 files changed, 3 insertions, 26 deletions
diff --git a/module/language/tree-il/peval.scm b/module/language/tree-il/peval.scm index bf96179e0..a6e4076fc 100644 --- a/module/language/tree-il/peval.scm +++ b/module/language/tree-il/peval.scm @@ -26,6 +26,7 @@ #:use-module (srfi srfi-9) #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) + #:use-module (ice-9 control) #:export (peval)) ;;; @@ -73,15 +74,6 @@ (newline) (values))) -(define-syntax-rule (let/ec k e e* ...) - (let ((tag (make-prompt-tag))) - (call-with-prompt - tag - (lambda () - (let ((k (lambda args (apply abort-to-prompt tag args)))) - e e* ...)) - (lambda (_ res) res)))) - (define (tree-il-any proc exp) (let/ec k (tree-il-fold (lambda (exp res) diff --git a/module/sxml/match.scm b/module/sxml/match.scm index 84cbce344..2cfe64323 100644 --- a/module/sxml/match.scm +++ b/module/sxml/match.scm @@ -20,7 +20,8 @@ sxml-match-let sxml-match-let*) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-11)) + #:use-module (srfi srfi-11) + #:use-module (ice-9 control)) ;;; Commentary: @@ -46,22 +47,6 @@ (define-syntax-rule (void) *unspecified*) -(define %call/ec-prompt - (make-prompt-tag)) - -(define-syntax-rule (call/ec proc) - ;; aka. `call-with-escape-continuation' - (call-with-prompt %call/ec-prompt - (lambda () - (proc (lambda args - (apply abort-to-prompt - %call/ec-prompt args)))) - (lambda (_ . args) - (apply values args)))) - -(define-syntax-rule (let/ec cont body ...) - (call/ec (lambda (cont) body ...))) - (define (raise-syntax-error x msg obj sub) (throw 'sxml-match-error x msg obj sub)) |