Am I missing something?
"... [Whenever] takes the program code and treats each line as an item in a to-do list. The interpreter chooses an item from the list at random, with equal probability, to execute, and executes the statement. ... When the interpreter is finished with a statement, it chooses another at random from the to-do list. ..."
This would mean the following could happen
1) all lines are placed on the todo list [1,2,3,4,5,6,7,8]
2) pick line 7 -> tests as false -> print "F", add line 2 on todo list, make sure line 4 is only once on todo list, add line 5 to todo list, remove line 7 from todo list [1,2,2,3,4,5,5,6,8]
3) pick line 2 -> tests as false -> print "A B", remove or make sure line 3 is only once on todo list (assume read is 0 to remove line 3 from todo list), make sure line 7 is only once on todo list [1,2,4,5,5,6,7,8]
4) pick line 1 -> print "statues" [2,4,5,5,6,7,8]
5) pick line 2 -> print "A B", remove or make sure line 3 is only once on todo list (assume read is 0 to remove line 3 from todo list), make sure line 7 is only once on todo list [4,5,5,6,7,8]
6) pick line 4 -> print "C" [5,5,6,7,8]
7) pick line 5 -> print "D E", assume read is 1 [5,6,7,8]
7) pick line 5 -> print "D E", assume read is 1 [6,7,8]
8) pick line 8 -> print "G" [6]
9) pick line 6 [6] ... endless loop
Output was "F A B A B C D E D E G"