Data Abstraction And Program Development Using Modula-2 - R F Hille (Prentice-Hall, 1989)