Demo Data from SIGIR 2026 / reviewers in the wild / expert
Georgios Karachalias
dblp:167/5903
· DBLP profile ↗
8ranked-venue papers
4as first author
2since 2021 · last 2023
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 7 · 4 first-author · 1 since 2021Theory of computation · 1 · 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
2 papers |
Programming languages and type systems · 58% Compilers and program optimization · 42% |
Topics — the 9 heaviest of 9, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems › computational effects
algebraic effects |
0.5 | 1 | 2021 | Efficient compilation of algebraic effect handlers · Proc. ACM Program. Lang. 2021 |
Compilers and program optimization › compiler construction
compilation pipeline |
0.5 | 1 | 2021 | Efficient compilation of algebraic effect handlers · Proc. ACM Program. Lang. 2021 |
Compilers and program optimization
compiler optimization |
0.5 | 1 | 2021 | Efficient compilation of algebraic effect handlers · Proc. ACM Program. Lang. 2021 |
Programming languages and type systems › computational effects › algebraic effects
effect handlers |
0.5 | 1 | 2021 | Efficient compilation of algebraic effect handlers · Proc. ACM Program. Lang. 2021 |
Compilers and program optimization › program transformation
source-to-source transformation |
0.5 | 1 | 2021 | Efficient compilation of algebraic effect handlers · Proc. ACM Program. Lang. 2021 |
Programming languages and type systems › type systems
intersection types |
0.4 | 1 | 2020 | Resolution as intersection subtyping via Modus Ponens · Proc. ACM Program. Lang. 2020 |
Programming languages and type systems › type systems
subtyping |
0.4 | 1 | 2020 | Resolution as intersection subtyping via Modus Ponens · Proc. ACM Program. Lang. 2020 |
Programming languages and type systems
type systems |
0.4 | 1 | 2020 | Resolution as intersection subtyping via Modus Ponens · Proc. ACM Program. Lang. 2020 |
Compilers and program optimization
runtime representation |
0.1 | 1 | 2021 | Efficient compilation of algebraic effect handlers · Proc. ACM Program. Lang. 2021 |
Methods — techniques the papers use, named apart from their topics
rewrite · 0.5function specialization · 0.5capability-passing style · 0.5coq · 0.4
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | No Unification Variable Left Behind: Fully Grounding Type Inference for the HDM System
Roger Bosman, Georgios Karachalias, Tom Schrijvers |
ITP | 2 |
| 2021 | Efficient compilation of algebraic effect handlersabstractThe popularity of algebraic effect handlers as a programming language feature for user-defined computational effects is steadily growing. Yet, even though efficient runtime representations have already been studied, most handler-based programs are still much slower than hand-written code. This paper shows that the performance gap can be drastically narrowed (in some cases even closed) by means of type-and-effect directed optimising compilation. Our approach consists of source-to-source transformations in two phases of the compilation pipeline. Firstly, elementary rewrites, aided by judicious function specialisation, exploit the explicit type and effect information of the compiler’s core language to aggressively reduce handler applications. Secondly, after erasing the effect information further rewrites in the backend of the compiler emit tight code. This work comes with a practical implementation: an optimising compiler from Eff, an ML style language with algebraic effect handlers, to OCaml. Experimental evaluation with this implementation demonstrates that in a number of benchmarks, our approach eliminates much of the overhead of handlers, outperforms capability-passing style compilation and yields competitive performance compared to hand-written OCaml code as well Multicore OCaml’s dedicated runtime support. Georgios Karachalias, Filip Koprivec, Matija Pretnar, Tom Schrijvers |
Proc. ACM Program. Lang. | 1 |
| 2020 | Explicit effect subtypingabstractAbstract As popularity of algebraic effects and handlers increases, so does a demand for their efficient execution. Eff, an ML-like language with native support for handlers, has a subtyping-based effect system on which an effect-aware optimising compiler could be built. Unfortunately, in our experience, implementing optimisations for Eff is overly error-prone because its core language is implicitly typed, making code transformations very fragile. To remedy this, we present an explicitly typed polymorphic core calculus for algebraic effect handlers with a subtyping-based type-and-effect system. It reifies appeals to subtyping in explicit casts with coercions that witness the subtyping proof, quickly exposing typing bugs in program transformations. Our typing-directed elaboration comes with a constraint-based inference algorithm that turns an implicitly typed Eff-like language into our calculus. Moreover, all coercions and effect information can be erased in a straightforward way, demonstrating that coercions have no computational content. Additionally, we present a monadic translation from our calculus into a pure language without algebraic effects or handlers, using the effect information to introduce monadic constructs only where necessary. Georgios Karachalias, Matija Pretnar, Amr Hany Saleh, Stien Vanderhallen, Tom Schrijvers |
J. Funct. Program. | 1 |
| 2020 | Resolution as intersection subtyping via Modus PonensabstractResolution and subtyping are two common mechanisms in programming languages. Resolution is used by features such as type classes or Scala-style implicits to synthesize values automatically from contextual type information. Subtyping is commonly used to automatically convert the type of a value into another compatible type. So far the two mechanisms have been considered independently of each other. This paper shows that, with a small extension, subtyping with intersection types can subsume resolution. This has three main consequences. Firstly, resolution does not need to be implemented as a separate mechanism. Secondly, the interaction between resolution and subtyping becomes apparent. Finally, the integration of resolution into subtyping enables first-class (implicit) environments. The extension that recovers the power of resolution via subtyping is the modus ponens rule of propositional logic. While it is easily added to declarative subtyping, significant care needs to be taken to retain desirable properties, such as transitivity and decidability of algorithmic subtyping, and coherence. To materialize these ideas we develop λiMP, a calculus that extends a iprevious calculus with disjoint intersection types, and develop its metatheory in the Coq theorem prover. Koar Marntirosian, Tom Schrijvers, Bruno C. d. S. Oliveira, Georgios Karachalias |
Proc. ACM Program. Lang. | 4 |
| 2018 | Explicit Effect SubtypingabstractAs popularity of algebraic effects and handlers increases, so does a demand for their efficient execution. Eff, an ML-like language with native support for handlers, has a subtyping-based effect system on which an effect-aware optimizing compiler could be built. Unfortunately, in our experience, implementing optimizations for Eff is overly error-prone because its core language is implicitly-typed, making code transformations very fragile. To remedy this, we present an explicitly-typed polymorphic core calculus for algebraic effect handlers with a subtyping-based type-and-effect system. It reifies appeals to subtyping in explicit casts with coercions that witness the subtyping proof, quickly exposing typing bugs in program transformations. Our typing-directed elaboration comes with a constraint-based inference algorithm that turns an implicitly-typed Eff-like language into our calculus. Moreover, all coercions and effect information can be erased in a straightforward way, demonstrating that coercions have no computational content. Amr Hany Saleh, Georgios Karachalias, Matija Pretnar, Tom Schrijvers |
ESOP | 2 |
| 2017 | Quantified class constraintsabstractQuantified class constraints have been proposed many years ago to raise the expressive power of type classes from Horn clauses to the universal fragment of Hereditiary Harrop logic. Yet, while it has been much asked for over the years, the feature was never implemented or studied in depth. Instead, several workarounds have been proposed, all of which are ultimately stopgap measures. Gert-Jan Bottu, Georgios Karachalias, Tom Schrijvers, Bruno C. d. S. Oliveira, Philip Wadler |
Haskell | 2 |
| 2017 | Elaboration on functional dependencies: functional dependencies are dead, long live functional dependencies!abstractFunctional dependencies are a popular extension to Haskell's type-class system because they provide fine-grained control over type inference, resolve ambiguities and even enable type-level computations. Georgios Karachalias, Tom Schrijvers |
Haskell | 1 |
| 2015 | GADTs meet their match: pattern-matching warnings that account for GADTs, guards, and lazinessabstractFor ML and Haskell, accurate warnings when a function definition has redundant or missing patterns are mission critical. But today's compilers generate bogus warnings when the programmer uses guards (even simple ones), GADTs, pattern guards, or view patterns. We give the first algorithm that handles all these cases in a single, uniform framework, together with an implementation in GHC, and evidence of its utility in practice. Georgios Karachalias, Tom Schrijvers, Dimitrios Vytiniotis, Simon L. Peyton Jones |
ICFP | 1 |