Until

(until (test) (expression)) -> #f

Until creates a loop of expression, and stops that loop when test returns a true value (any value other than #f).

Example:

>> (define tc (make-tc))
:: #f
>> (tc-splice! tc '(a b c))
:: #f
>> (until (tc-empty? tc) (show (tc-next! tc)))
abc :: #f

See Also: while