Demo Data from EDBT 2026 / reviewers in the wild / expert
Yuriy Solodkyy
dblp:98/4594
· DBLP profile ↗
5ranked-venue papers
3as first author
0since 2021 · last 2013
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 5 · 3 first-author
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 2 heaviest of 3, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems › object-oriented programming
multiple inheritance |
0.0 | 1 | 2012 | Open and efficient type switch for C++ · OOPSLA 2012 |
Programming languages and type systems
object-oriented programming |
0.0 | 1 | 2012 | Open and efficient type switch for C++ · OOPSLA 2012 |
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2013 | Open pattern matching for C++abstractPattern matching is an abstraction mechanism that can greatly simplify source code. We present functional-style pattern matching for C++ implemented as a library, called Mach71. All the patterns are user-definable, can be stored in variables, passed among functions, and allow the use of class hierarchies. As an example, we implement common patterns used in functional languages. Yuriy Solodkyy, Gabriel Dos Reis, Bjarne Stroustrup |
GPCE | 1 |
| 2012 | Open and efficient type switch for C++abstractSelecting operations based on the run-time type of an object is key to many object-oriented and functional programming techniques. We present a technique for implementing open and efficient type switching on hierarchical extensible data types. The technique is general and copes well with C++ multiple inheritance. To simplify experimentation and gain realistic performance using production-quality compilers and tool chains, we implement a type switch construct as an ISO C++11 library, called Mach7. This library-only implementation provides concise notation and outperforms the visitor design pattern, commonly used for case analysis on types in object-oriented programming. For closed sets of types, its performance roughly equals equivalent code in functional languages, such as OCaml and Haskell. The type-switching code is easier to use and is more expressive than hand-coded visitors are. The library is non-intrusive and circumvents most of the extensibility restrictions typical of the visitor design pattern. It was motivated by applications involving large, typed, abstract syntax trees. Yuriy Solodkyy, Gabriel Dos Reis, Bjarne Stroustrup |
OOPSLA | 1 |
| 2011 | Extending type systems in a library: Type-safe XML processing in C++
Yuriy Solodkyy, Jaakko Järvi |
Sci. Comput. Program. | 1 |
| 2010 | Design and evaluation of C++ open multi-methods
Peter Pirkelbauer, Yuriy Solodkyy, Bjarne Stroustrup |
Sci. Comput. Program. | 2 |
| 2007 | Open multi-methods for c++abstractMultiple dispatch - the selection of a function to be invoked based on the dynamic type of two or more arguments - is a solution to several classical problems in object-oriented programming. Open multi-methods generalize multiple dispatch towards open-class extensions, which improve separation of concerns and provisions for retroactive design. We present the rationale, design, implementation, and performance of a language feature, called open multi-methods, for C++. Our open multi-methods support both repeated and virtual inheritance. Our call resolution rules generalize both virtual function dispatch and overload resolution semantics. After using all information from argument types, these rules can resolve further ambiguities by using covariant return types. Great care was taken to integrate open multi-methods with existing C++ language features and rules. We describe a model implementation and compare its performance and space requirements to existing open multi-method extensions and workaround techniques for C++. Compared to these techniques, our approach is simpler to use, catches more user mistakes, and resolves more ambiguities through link-time analysis, runs significantly faster, and requires less memory. In particular, the runtime cost of calling an open multi method is constant and less than the cost of a double dispatch (two virtual function calls). Finally, we provide a sketch of a design for open multi-methods in the presence of dynamic loading and linking of libraries. Peter Pirkelbauer, Yuriy Solodkyy, Bjarne Stroustrup |
GPCE | 2 |