Citation Morrison R, Dearle A, Connor RCH & Brown AL (1991) An ad hoc approach to the implementation of polymorphism. ACM Transactions on Programming Languages and Systems (TOPLAS), 13 (3), pp. 342-371. https://doi.org/10.1145/117009.117017
Abstract Polymorphic abstraction provides the ability to write programs that are independent of the form of the data over which they operate. There are a number of different categories of polymorphic
expression— ad hoc and umversal, which includes parametric and inclusion— all of which have many advantages in terms of code reuse and software economics. It has proved difficult to provide efficient implementations of polymorphism. Here, we address this problem and describe a new technique that can implement all forms of polymorphism, use a conventional machine architecture, and support nonuniform data representations. Furthermore, the method ensures
that any extra cost of implementation applies to polymorphic forms only, and allows such polymorphic forms to persist over program invocations.