CLU
CLUster
1974-1975
CLU is an object-oriented language of the Pascal family designed to support data abstraction, similar to Alphard[1]. It introduced the iterator: a coroutine yielding the elements of a data object, to be used as the sequence of values in a 'for' loop.
Abstraction and Specification in Program Development, Barbara Liskov and John Guttag, McGraw-Hill, 1986.
CLU Reference Manual, Barbara Liskov et al, Lecture Notes in Computer Science 114, Springer-Verlag, 1981.