CLU's iterators correspond to what [Python] and other languages call [generators]. CLU iterators were modeled on Alphard's generators [http://www.pmg.lcs.mit.edu/CLU.html]. IPL-v generators and [Lisp] mapping functions are related to Alphard's generators. Can someone explain the idea of iterator/generator here? It seems to me that the idea is that rather than explicitly listing an entire range of values (that a variable can take within a loop, etc.) one lists the beginning and ending value of a range plus the incremental factor and the language generates the value as needed. How is this different than using a for loop though? An iterator is ''richer'' than a mere index. An iterator carries the ''container'' reference and the element's position with it. You can use 'em without for loops. The iterator controls access to the element. -- [Todd Coram] [RS] So would the "loop variable" in a [foreach] come closer to the iterator concept?