The benefits and disadvantages of three different object encodings were discussed. The existential encoding based on data abstraction, and which represented an object as an explicit pair of state and methods, avoided recursion but suffered from an ungainly method invoca... View more
A J H Simons, The Theory of Classification, Part 1: Perspectives on Type Compatibility, in Journal of Object Technology, vol. 1, no. 1, May-June 2002, pages 55-61. http://www.jot.fm/issues/issue_2002_05/column7.
A J H Simons, The Theory of Classification, Part 2: The Scratch-Built Typechecker, in Journal of Object Technology, vol. 1, no. 2, July-August 2002, pages 47-54.
 J C Reynolds, User defined types and procedural data structures as complementary approaches to data abstraction, in: Programming Methodology: a Collection of Articles by IFIP WG2.3, ed. D Gries, 1975, 309-317; reprinted from New Advances in Algorithmic Languages, ed. S A Schuman, INRIA, 1975, 157-168.
W Cook, Object-oriented programming versus abstract data types, in: Foundations of Object-Oriented Languages, LNCS 489, eds. J de Bakker et al., Springer Verlag, 1991, 151-178.
M Abadi and L Cardelli. A Theory of Objects. Monographs in Computer Science, Springer-Verlag, 1996.
A Church, A formulation of the simple theory of types, Journal of Symbolic Logic, 5 (1940), 56-68.
L Cardelli and P Wegner, On understanding types, data abstraction and polymorphism, ACM Computing Surveys, 17(4), 1985, 471-521.