Maintaining object-oriented systems that use inheritance and polymorphism is difficult, since runtime information, such as which methods are actually invoked at a call site, is n...
Equality constraints (unification constraints) have widespread use in program analysis, most notably in static polymorphic type systems. Conditional equality constraints extend eq...
Abstract—Implementing binary methods in traditional object-oriented languages is difficult: numerous problems arise, such as typing (covariance vs. contravariance of the argument...
Building on previous work by Coquand and Spiwack [8] we construct a strict domaintheoretic model for the untyped -calculus with pattern matching and term rewriting which has the p...
Virtual classes are class-valued attributes of objects. Like virtual methods, virtual classes are defined in an object's class and may be redefined within subclasses. They re...