Welcome to the CHICKEN Scheme pasting service
using dsssl added by megane on Sun Aug 26 18:59:28 2012
(define-syntax while (ir-macro-transformer (lambda (form inject compare?) (apply (lambda (_ pred #!rest body) `(call/cc (lambda (,(inject 'return)) (let loop () (when ,pred ,@body (loop)))))) form)))) (define x 5) (while (positive? x) (display x) (set! x (- x 1)) (if (= x 2) (return #t)))