;File pvc-macros.setup (compile -s pvc-macros.scm -j pvc-macros) (compile -s pvc-macros.import.scm ) (install-extension 'pvc-macros `("pvc-macros.so" "pvc-macros.import.so") '((version "0.1"))) ;File pvc-macros.scm (module pvc-macros (partial-capture eloop loop) (import scheme chicken) (define (partial-capture macro captured) (er-macro-transformer (lambda (expr rnme cmpr) (append (list macro captured) (cdr expr))))) (define-syntax eloop (syntax-rules () ((_ (return) body ...) (call/cc (lambda (return) (let iter () body ... (iter))))))) (define-syntax loop (partial-capture 'eloop '(return))) )