Objects with dynamic types allow the integration of operations that essentially require runtime type-checking into statically-typed languages. This article presents two extensions...
We propose union types for statically typed class-based objectoriented languages as a means to enhance the flexibility of subtyping. As its name suggests, a union type can be con...
The notion of ThisType has been proposed to promote typesafe reuse of binary methods and recently extended to mutually recursive definitions. It is well-known, however, that This...
Today’s module systems do not effectively support information hiding in the presence of shared mutable objects, causing serious problems in the development and evolution of larg...
Sharing analysis and uniqueness typing are static analyses that aim at determining which of a program's objects are to be used at most once. There are many commonalities betw...