15 lines
290 B
Racket
15 lines
290 B
Racket
#lang racket/base
|
|
(require (for-syntax racket/base))
|
|
(provide (all-defined-out))
|
|
|
|
(define-syntax-rule (until cond expr ...)
|
|
(let loop ()
|
|
(unless cond
|
|
expr ...
|
|
(loop))))
|
|
|
|
(define-syntax-rule (while cond expr ...)
|
|
(let loop ()
|
|
(when cond
|
|
expr ...
|
|
(loop)))) |