Ordered types and a generalized for statement

An ordered type is a data structure together with predecessor and successor procedures and a relation defined over pairs of elements of the ordered type. A generalized for statement which uses the procedures connected with an ordered type is introduced. This allows ordered types to be used to control statement iteration in programs.