`while'
=======
The `while' special form tests whether the value returned by
evaluating its first argument is true or false. This is similar to what
the Lisp interpreter does with an `if'; what the interpreter does next,
however, is different.
In a `while' expression, if the value returned by evaluating the
first argument is false, the Lisp interpreter skips the rest of the
expression (the "body" of the expression) and does not evaluate it.
However, if the value is true, the Lisp interpreter evaluates the body
of the expression and then again tests whether the first argument to
`while' is true or false. If the value returned by evaluating the
first argument is again true, the Lisp interpreter again evaluates the
body of the expression.
The template for a `while' expression looks like this:
(while TRUE-OR-FALSE-TEST
BODY...)