WHILE is de oplossing waar ik de vorige keer op doelde.
   Het is een 
IF die zijn compilerpost niet helemaal bovenop,
   maar vlak onder de bovenste post legt.
   Je kunt 
WHILE daarom alleen 
binnen een andere Controlestructuur gebruiken.
   Die andere structuur moet weer afgesloten zijn voordat de bijbehorende 
THEN komt.
    
WHILE nest zich kruislings,
   en dient ervoor om 
uit een structuur naar 
THEN te springen:
: WHILE ( -- )
  POSTPONE IF
  1 CS-ROLL ; IMMEDIATE
 .. BEGIN .. WHILE .. AGAIN  THEN ..
      1        2        1      2
    De cijfers geven aan hoe de woorden bij elkaar horen. 
WHILE is bruikbaar binnen alle andere controlestructuren. Voorbeelden:
a) .. BEGIN .. WHILE .. UNTIL .. THEN ..
        1        2        1        2
b) .. BEGIN .. WHILE .. AGAIN  ELSE .. THEN ..
        1        2        1      2       2
c) .. BEGIN .. WHILE .. WHILE ..  AGAIN  THEN .. THEN ...
        1        2        3         1      3       2
    In c) legt 
WHILE-2 zijn post onder 
BEGIN-1,
     
WHILE-3 legt zijn post ook onder 
BEGIN-1,
    dus bovenop 
WHILE-2.
    De beide 
WHILE's zijn onderling weer normaal genest.
    Strikvraagje:
Wat is het verschil tussen 
OLIE en 
AZIJN ?
: OLIE  aaa IF bbb IF ccc THEN THEN ddd ;
: AZIJN aaa IF bbb WHILE ccc THEN THEN ddd ;
    Opmerking:
REPEAT (een standaardwoord) staat voor 
AGAIN THEN.
.. BEGIN .. WHILE .. REPEAT ..