Graph explorer

Explicit Effect Subtyping

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 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. Additionally, we present a monadic translation from our calculus into a pure language without algebraic effects or handlers, using the effect information

7 nodes6 linksoverview previewExplicit Effect Subtyping
7 nodes6 links
Explicit Effect Subtyping7 visible / 7 total nodes / 16 links
Co-authorshipCo-authorshipCo-authorshipCo-authorshipCo-authorshipCo-authorshipCo-authorshipCo-authorshipCo-authorshipCo-authorshipAuthorshipAuthorshipAuthorshipAuthorshipTopic signalAuthorshipWExplicit Effect Subtypingpreprint / 2020AGeorgios KarachaliasResearcherAMatija PretnarResearcherAAmr Hany SalehResearcherAStien VanderhallenResearcherTProgramming Languages1239 worksATom SchrijversResearcher
PaperSignal 106 links

Explicit Effect Subtyping

preprint / 2020

Open