Demo Data from VLDB 2026 / reviewers in the wild / expert
Jason Ryder
dblp:55/4437
· DBLP profile ↗
1ranked-venue papers
0as first author
0since 2021 · last 2009
—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 · 100% |
Topics — the 6 heaviest of 6, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems › method dispatch
dynamic dispatch |
0.1 | 1 | 2009 | Expressive and modular predicate dispatch for Java · ACM Trans. Program. Lang. Syst. 2009 |
Programming languages and type systems › type checking
modular typechecking |
0.1 | 1 | 2009 | Expressive and modular predicate dispatch for Java · ACM Trans. Program. Lang. Syst. 2009 |
Programming languages and type systems › method dispatch
predicate dispatch |
0.1 | 1 | 2009 | Expressive and modular predicate dispatch for Java · ACM Trans. Program. Lang. Syst. 2009 |
Programming languages and type systems
type systems |
0.1 | 1 | 2009 | Expressive and modular predicate dispatch for Java · ACM Trans. Program. Lang. Syst. 2009 |
Programming languages and type systems › object-oriented programming
java |
0.0 | 1 | 2009 | Expressive and modular predicate dispatch for Java · ACM Trans. Program. Lang. Syst. 2009 |
Programming languages and type systems
object-oriented programming |
0.0 | 1 | 2009 | Expressive and modular predicate dispatch for Java · ACM Trans. Program. Lang. Syst. 2009 |
Methods — techniques the papers use, named apart from their topics
featherweight java · 0.1decision procedures · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2009 | Expressive and modular predicate dispatch for JavaabstractPredicate dispatch is an object-oriented (OO) language mechanism for determining the method implementation to be invoked upon a message send. With predicate dispatch, each method implementation includes a predicate guard specifying the conditions under which the method should be invoked, and logical implication of predicates determines the method overriding relation. Predicate dispatch naturally unifies and generalizes several common forms of dynamic dispatch, including traditional OO dispatch, multimethod dispatch, and functional-style pattern matching. Unfortunately, prior languages supporting predicate dispatch have had several deficiencies that limit the practical utility of this language feature. We describe JPred, a backward-compatible extension to Java supporting predicate dispatch. While prior languages with predicate dispatch have been extensions to toy or nonmainstream languages, we show how predicate dispatch can be naturally added to a traditional OO language. While prior languages with predicate dispatch have required the whole program to be available for typechecking and compilation, JPred retains Java's modular typechecking and compilation strategies. While prior languages with predicate dispatch have included special-purpose algorithms for reasoning about predicates, JPred employs general-purpose, off-the-shelf decision procedures. As a result, JPred's type system is more flexible, allowing several useful programming idioms that are spuriously rejected by those other languages. After describing the JPred language informally, we present an extension to Featherweight Java that formalizes the language and its modular type system, which we have proven sound. Finally, we discuss two case studies that illustrate the practical utility of JPred, including its use in the detection of several errors. Todd D. Millstein, Christopher Frost 0001, Jason Ryder, Alessandro Warth |
ACM Trans. Program. Lang. Syst. | 3 |