Oberon
Retroactively known as Oberon-1.
Niklaus Wirth, 1988
Oberon is a descendant of Modula-2 which eliminates many familiar constructs: variant records, enumeration types, subranges, lower array indices and 'for' loops. Additions are extensible record types, multidimensional open arrays and garbage collection.
"The Programming Language Oberon", Niklaus Wirth, Software Practice & Experience 18(7):671-690 (July 1988).
Programming in Oberon: Steps Beyond Pascal and Modula, Martin Reiser & Niklaus Wirth, Addison-Wesley, 1992.