#lang racket
(define-syntax-rule (while condition body ...)
(let loop ()
(when condition
body ...
(loop))))
(define n 1024)
(while (positive? n)
(displayln n)
(set! n (sub1 n)))