changed the implementation to call/cc

This commit is contained in:
2026-05-11 16:50:26 +02:00
parent cde399ded9
commit 2fb61721f9
2 changed files with 53 additions and 2 deletions
+18 -2
View File
@@ -1,13 +1,29 @@
#lang racket/base
(provide define/return
return
;return
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; define/return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define-syntax define/return
(syntax-rules ()
((_ def return
b1 ...)
(define def
(call/cc
(λ (return)
b1
...)))
)
)
)
#|
(struct exn:return exn (value) #:transparent)
(define-syntax raise-return
@@ -76,4 +92,4 @@
)
)
)
|#