
The counterpart of WHILE-DO constructs is the REPEAT-UNTIL construct. This executes the body, then checks a condition at 'UNTIL'. If the expression evaluates to FALSE, it branches back to the top of the body (marked by 'BEGIN') again. It executes at least once. This program calculates the largest common divisor.
: lcd
begin
swap over mod \ body
dup 0= \ condition
until drop . ;
If you enter "27 21 lcd" the programs will answer "3".