Mark Reay

dblp:28/766 · DBLP profile ↗
← Back
1ranked-venue papers
0as first author
0since 2021 · last 2003
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
1 paper
Programming languages and type systems · 91% Compilers and program optimization · 9%

Topics — the 3 heaviest of 4, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Programming languages and type systems
extensibility
0.012003
Relaxed MultiJava: balancing extensibility and modular typechecking · OOPSLA 2003
Programming languages and type systems › type checking
modular typechecking
0.012003
Relaxed MultiJava: balancing extensibility and modular typechecking · OOPSLA 2003
Programming languages and type systems › method dispatch
multiple dispatch
0.012003
Relaxed MultiJava: balancing extensibility and modular typechecking · OOPSLA 2003

Methods — techniques the papers use, named apart from their topics

load-time type checking · 0.0custom class loader · 0.0
YearPublicationVenuePosition
2003 Relaxed MultiJava: balancing extensibility and modular typechecking
abstract
We present the rationale, design, and implementation of Relaxed MultiJava (RMJ), a backward-compatible extension of Java that allows programmers to add new methods to existing classes and to write multimethods. Previous languages supporting these forms of extensibility either restrict their usage to a limited set of programming idioms that can be modularly typechecked (and modularly compiled) or simply forego modular typechecking altogether. In contrast, RMJ supports the new language features in a virtually unrestricted form while still providing mostly-modular static typechecking and fully-modular compilation. In some cases, the RMJ compiler will warn that the potential for a type error exists, but it will still complete compilation. In those cases, a custom class loader transparently performs load-time checking to verify that the potential error is never realized. RMJ's compiler and custom loader cooperate to keep load-time checking costs low. We report on qualitative and quantitative experience with our implementation of RMJ.
Todd D. Millstein, Mark Reay, Craig Chambers
OOPSLA2