The Mathematica Programmer
Abstract Data Types
Volume 2, Issue 3
Roman E. Maeder
The theoretical concept of abstract data types provides a useful tool
for program development. Following the principles of abstract data-type
design ensures a clear separation of specification and implementation.
Abstract data types are defined in terms of type names, function names
and equations. These can be realized in Mathematica very easily.
The equations become rewrite rules. Mathematica's interactive nature
makes it well suited for rapid prototyping and testing of designs.