Nested blocks

DO...OD, REPEAT … UNTIL and IF … FI blocks can be nested. In a nested block you can declare variables, arrays and procedures with the same names as those on a higher level.

#BEGIN 
DO 
NUMBER i := 3 
DO 
TEXT i := "xxx" 

first: @( i ) 
# 
OD  	
#
second: @( i ) 
#
OD 
END# 

Result: 
first: xxx 
second: 3.00 

The first and second i are not the same because they are at the different levels of the instruction.