Demo Data from SIGIR 2026 / reviewers in the wild / expert
Stephen Ellis
dblp:48/6783
· DBLP profile ↗
1ranked-venue papers
1as first author
1since 2021 · last 2022
0000-0002-3556-2201ORCID · reported
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 1 · 1 first-author · 1 since 2021
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 4 heaviest of 4, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems › type systems › polymorphism
generic types |
0.6 | 1 | 2022 | Generic go to go: dictionary-passing, monomorphisation, and hybrid · Proc. ACM Program. Lang. 2022 |
Programming languages and type systems › language implementation
monomorphization |
0.6 | 1 | 2022 | Generic go to go: dictionary-passing, monomorphisation, and hybrid · Proc. ACM Program. Lang. 2022 |
Programming languages and type systems › type systems › polymorphism
parametric polymorphism |
0.6 | 1 | 2022 | Generic go to go: dictionary-passing, monomorphisation, and hybrid · Proc. ACM Program. Lang. 2022 |
Compilers and program optimization
code bloat |
0.2 | 1 | 2022 | Generic go to go: dictionary-passing, monomorphisation, and hybrid · Proc. ACM Program. Lang. 2022 |
Methods — techniques the papers use, named apart from their topics
bisimulation up to technique · 0.6benchmarking · 0.6
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2022 | Generic go to go: dictionary-passing, monomorphisation, and hybridabstractGo is a popular statically-typed industrial programming language. To aid the type safe reuse of code, the recent Go release (Go 1.18) published early 2022 includes bounded parametric polymorphism via generic types. Go 1.18 implements generic types using a combination of monomorphisation and call-graph based dictionary-passing called hybrid. This hybrid approach can be viewed as an optimised form of monomorphisation that statically generates specialised methods and types based on possible instantiations. A monolithic dictionary supplements information lost during monomorphisation, and is structured according to the program’s call graph. Unfortunately, the hybrid approach still suffers from code bloat, poor compilation speed, and limited code coverage. In this paper we propose and formalise a new non-specialising call-site based dictionary-passing translation. Our call-site based translation creates individual dictionaries for each type parameter, with dictionary construction occurring in place of instantiation, overcoming the limitations of hybrid. We prove it correct using a novel and general bisimulation up to technique. To better understand how different generics translation approaches work in practice, we benchmark five translators, Go 1.18, two existing monomorphisation translators, our dictionary-passing translator, and an erasure translator. Our findings reveal several suggestions for improvements for Go 1.18— specifically how to overcome the expressiveness limitations of generic Go and improve compile time and compiled code size performance of Go 1.18. Stephen Ellis, Shuofei Zhu, Nobuko Yoshida, Linhai Song |
Proc. ACM Program. Lang. | 1 |