Algorithms for checking subtyping between recursive types lie at the core of many programming language implementations. But the fundamental theory of these algorithms and how they...
Vladimir Gapeyev, Michael Y. Levin, Benjamin C. Pi...
Inheritance is a useful mechanism for factoring and reusing code. However, it has limitations for building extensible systems. We describe nested inheritance, a mechanism that add...
This paper presents O’KLAIM (Object-Oriented KLAIM), a linguistic extension of the higher-order calculus for mobile processes KLAIM with objectoriented features. Processes intera...
AspectJ was designed as a seamless aspect-oriented extension of the Java programming language. However, unlike Java, AspectJ does not have a safe type system: an accepted binding ...