ICFP 2022
Sun 11 - Fri 16 September 2022 Ljubljana, Slovenia
Thu 15 Sep 2022 10:10 - 10:30 at Štih - Language Design Chair(s): Benoît Montagu

ML-language dialects and related typically support expressive pattern-matching syntaxes which allow programmers to write concise, expressive, and type-safe code to manipulate algebraic data types. Many features have been proposed to enhance the expressiveness of these pattern-matching syntaxes, such as pattern bindings, pattern alternatives (aka dis- junction), pattern conjunction, view patterns, pattern guards, ‘if-let’ patterns, multi-way if-expressions, etc.

In this extended abstract, we propose a new framework for expressing pattern-matching code in a way that is both more expressive and (we argue) more readable than previous alternatives. In particular, our syntax subsumes many proposed extensions to ML pattern matching by allowing parallel and nested matches interleaved with computations and intermediate bindings. This is achieved through a form of nested multi-way if-expressions, an expression-splitting mechanism to factor common conditional prefixes, and a technique we call conditional pattern flowing.

We present many examples of this new syntax in the setting of MLscript, a new ML-family programming language that is being developed at the Hong Kong University of Science and Technology.

Slides PDF (ml22-ucs.pdf)1.64MiB

I am an Assistant Professor at the HKUST CSE department since February 2021. I am looking for students to join my research group! Please contact me (first-name dot last-name at gmail.com) if you’d like to work on something related to programming languages, type systems, or compiler optimization.

I obtained my PhD in 2020 at EPFL, in the Data Analysis Theory and Applications Laboratory (DATA), where I created the Squid type-safe metaprogramming library for Scala.

Thu 15 Sep

Displayed time zone: Belgrade, Bratislava, Budapest, Ljubljana, Prague change

09:00 - 10:30
Language DesignML at Štih
Chair(s): Benoît Montagu Inria
09:00
50m
Keynote
Efficient and Scalable Parallel Functional Programming Through Disentanglement
ML
Sam Westrick Carnegie Mellon University
09:50
20m
Talk
Towards Algebraic Subtyping for Extensible Records
ML
Rodrigo Marques Universidade do Porto, Mário Florido Universidade do Porto, Pedro Vasconcelos LIACC, Universidade do Porto, Porto, Portugal
10:10
20m
Talk
The Ultimate Conditional SyntaxVirtual
ML
Lionel Parreaux The Hong Kong University of Science and Technology (HKUST)
Pre-print File Attached