thin-provisioning-tools/functional-tests/loops.scm
2017-08-18 16:02:10 +01:00

24 lines
440 B
Scheme

(library
(loops)
(export upto while)
(import (rnrs))
(define-syntax upto
(syntax-rules ()
((_ (var count) body ...)
(let loop ((var 0))
(when (< var count)
(begin body ...)
(loop (+ 1 var)))))))
(define-syntax while
(syntax-rules ()
((_ (var exp) body ...)
(let loop ((var exp))
(when var
(begin body ...)
(loop exp))))))
)