Write a Blog >>
ICFP 2020
Thu 20 - Fri 28 August 2020
Tue 25 Aug 2020 14:30 - 14:45 at ICFP NY 4 - New York 4 Chair(s): Stephanie Weirich
Wed 26 Aug 2020 02:30 - 02:45 at ICFP Asia 4 - Asia 4 Chair(s): Stephanie Weirich

MLsub extends traditional Hindley-Milner type inference with subtyping while preserving compact principal types, an exciting new development. However, its specification in terms of biunification is difficult to understand, relying on the new concepts of bisubstitution and polar types, and making use of advanced notions from abstract algebra. In this paper, we show that these are in fact not essential to understanding the mechanisms at play in MLsub. We propose an alternative algorithm called Simple-sub, which can be implemented efficiently in under 500 lines of code (including parsing, simplification, and pretty-printing), looks more familiar, and is easier to understand.

We present an experimental evaluation of Simple-sub against MLsub on a million randomly-generated well-scoped expressions, showing that the two systems agree. The mutable automaton-based implementation of MLsub is quite far from its algebraic specification, leaving a lot of space for errors; in fact, our evaluation uncovered several bugs in it. We sketch more straightforward soundness and completeness arguments for Simple-sub, based on a syntactic specification of the type system.

This paper is meant to be light in formalism, rich in insights, and easy to consume for prospective designers of new type systems and programming languages. In particular, no abstract algebra is inflicted on readers.

Conference Day
Tue 25 Aug

Displayed time zone: Eastern Time (US & Canada) change

14:30 - 16:30
New York 4ICFP Program at ICFP NY 4
Chair(s): Stephanie WeirichUniversity of Pennsylvania

Public livestreams: YouTube, Bilibili (China)

14:30
15m
Talk
The Simple Essence of Algebraic Subtyping: Principal Type Inference with Subtyping Made Easy (Functional Pearl)
ICFP Program
DOI Pre-print Media Attached
14:45
15m
Talk
Liquid Resource Types
ICFP Program
Tristan KnothUniversity of California at San Diego, USA, Di WangCarnegie Mellon University, Adam ReynoldsUniversity of California, San Diego, Nadia PolikarpovaUniversity of California, San Diego, Jan HoffmannCarnegie Mellon University
DOI Media Attached
15:00
15m
Talk
Cosmo: A Concurrent Separation Logic for Multicore OCaml
ICFP Program
Glen MévelInria, Université Paris-Saclay, CNRS, Laboratoire de recherche en informatique, Jacques-Henri JourdanUniversersité Paris Saclay, CNRS, LRI, François PottierInria, France
DOI Media Attached
15:15
15m
Talk
Composing and Decomposing Op-Based CRDTs with Semidirect Products
ICFP Program
Matthew WeidnerCarnegie Mellon University, Christopher MeiklejohnCarnegie Mellon University, Heather MillerCarnegie Mellon University
DOI Media Attached
15:30
15m
Talk
A Quick Look at ImpredicativityDistinguished Paper
ICFP Program
Alejandro Serrano47 Degrees, Spain, Jurriaan HageUtrecht University, Netherlands, Simon Peyton JonesMicrosoft, UK, Dimitrios VytiniotisDeepMind
DOI Pre-print Media Attached
15:45
15m
Talk
A Unified View of Modalities in Type Systems
ICFP Program
Andreas AbelGothenburg University, Jean-Philippe BernardyUniversity of Gothenburg, Sweden
DOI Media Attached
16:00
15m
Talk
Lower Your Guards: A Compositional Pattern-Match Coverage Checker
ICFP Program
Sebastian GrafKarlsruhe Institute of Technology, Simon Peyton JonesMicrosoft, UK, Ryan ScottGalois, Inc.
Link to publication DOI Media Attached
16:15
15m
Talk
Signature restriction for polymorphic algebraic effects
ICFP Program
Taro SekiyamaNational Institute of Informatics, Takeshi TsukadaChiba University, Japan, Atsushi IgarashiKyoto University, Japan
DOI Media Attached

Conference Day
Wed 26 Aug

Displayed time zone: Eastern Time (US & Canada) change

02:30 - 04:30
Asia 4ICFP Program at ICFP Asia 4
Chair(s): Stephanie WeirichUniversity of Pennsylvania

Public livestreams: YouTube, Bilibili (China)

02:30
15m
Talk
The Simple Essence of Algebraic Subtyping: Principal Type Inference with Subtyping Made Easy (Functional Pearl)
ICFP Program
DOI Pre-print Media Attached
02:45
15m
Talk
Liquid Resource Types
ICFP Program
Tristan KnothUniversity of California at San Diego, USA, Di WangCarnegie Mellon University, Adam ReynoldsUniversity of California, San Diego, Nadia PolikarpovaUniversity of California, San Diego, Jan HoffmannCarnegie Mellon University
DOI Media Attached
03:00
15m
Talk
Cosmo: A Concurrent Separation Logic for Multicore OCaml
ICFP Program
Glen MévelInria, Université Paris-Saclay, CNRS, Laboratoire de recherche en informatique, Jacques-Henri JourdanUniversersité Paris Saclay, CNRS, LRI, François PottierInria, France
DOI Media Attached
03:15
15m
Talk
Composing and Decomposing Op-Based CRDTs with Semidirect Products
ICFP Program
Matthew WeidnerCarnegie Mellon University, Christopher MeiklejohnCarnegie Mellon University, Heather MillerCarnegie Mellon University
DOI Media Attached
03:30
15m
Talk
A Quick Look at ImpredicativityDistinguished Paper
ICFP Program
Alejandro Serrano47 Degrees, Spain, Jurriaan HageUtrecht University, Netherlands, Simon Peyton JonesMicrosoft, UK, Dimitrios VytiniotisDeepMind
DOI Pre-print Media Attached
03:45
15m
Talk
A Unified View of Modalities in Type Systems
ICFP Program
Andreas AbelGothenburg University, Jean-Philippe BernardyUniversity of Gothenburg, Sweden
DOI Media Attached
04:00
15m
Talk
Lower Your Guards: A Compositional Pattern-Match Coverage Checker
ICFP Program
Sebastian GrafKarlsruhe Institute of Technology, Simon Peyton JonesMicrosoft, UK, Ryan ScottGalois, Inc.
Link to publication DOI Media Attached
04:15
15m
Talk
Signature restriction for polymorphic algebraic effects
ICFP Program
Taro SekiyamaNational Institute of Informatics, Takeshi TsukadaChiba University, Japan, Atsushi IgarashiKyoto University, Japan
DOI Media Attached