2.4.10 The LEAVE Instruction LEAVE [ symbol ] ; This statement terminates the innermost, active loop. If symbol is specified, it terminates the innermost, active loop having symbol as control variable. As for scope, syntax, errors, and functionality, it is identical to ITERATE, except that LEAVE terminates the loop, while ITERATE lets the loop start on the next iteration normal iteration. No actions normally associated with the normal end of an iteration of a loop is performed for a LEAVE instruction. Example: Iterating a simple DO/END In order to circumvent this, a simple DO/END can be rewritten as this: if foo then do until 1 say ‘This is a simple DO/END group’ say ‘but it can be terminated by’ leave say ‘iterate or leave’ end This shows how ITERATE has been used to terminate what for all practical purposes is a simple DO/END group. Either ITERATE or LEAVE can be used for this purpose, although LEAVE is perhaps marginally faster.