Write a Blog >>
ICFP 2020
Thu 20 - Fri 28 August 2020
Mon 24 Aug 2020 14:45 - 15:00 at ICFP NY 2 - New York 2 Chair(s): Alan Jeffrey
Tue 25 Aug 2020 02:45 - 03:00 at ICFP Asia 2 - Asia 2 Chair(s): Alan Jeffrey

Parser combinators are a middle ground between the fine control of hand-rolled parsers and the high-level almost grammar-like appearance of parsers created via parser generators. They also promote a cleaner, compositional design for parsers. However, historically, they cannot match the performance of their counterparts.

This paper describes how to compile parser combinators to parsers of hand-written quality. This is done by leveraging the static information present in the grammar by representing it as a tree. However, in order to exploit this information it will be necessary to drop support for monadic computation since this generates dynamic structure. Selective functors can help recover lost functionality in the absence of monads, and the parser tree can be partially evaluated with staging. This is implemented in a library called Parsley.

Mon 24 Aug

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

14:30 - 16:30
New York 2ICFP Program at ICFP NY 2
Chair(s): Alan Jeffrey Mozilla Research

Public livestreams: YouTube, Bilibili (China)

14:30
15m
Talk
Achieving High-Performance the Functional Way - A Functional Pearl on Expressing High-Performance Optimizations as Rewrite Strategies
ICFP Program
Bastian Hagedorn University of Münster, Germany, Johannes Lenfers University of Münster, Thomas Koehler University of Glasgow, United Kingdom, Xueying Qin University of Glasgow, United Kingdom, Sergei Gorlatch University of Münster, Germany, Michel Steuwer The University of Edinburgh
DOI Media Attached
14:45
15m
Talk
Staged Selective Parser Combinators
ICFP Program
Jamie Willis Imperial College London, Nicolas Wu Imperial College London, UK, Matthew Pickering University of Bristol, UK
DOI Media Attached
15:00
15m
Talk
Kindly Bent to Free Us
ICFP Program
Gabriel Radanne Inria, Hannes Saffrich University of Freiburg, Peter Thiemann University of Freiburg, Germany
DOI Pre-print Media Attached File Attached
15:15
15m
Talk
Sealing Pointer-Based Optimizations Behind Pure Functions
ICFP Program
Daniel Selsam Microsoft Research, Simon Hudon Carnegie Mellon University, Leonardo de Moura Microsoft Research, n.n.
DOI Media Attached
15:30
15m
Talk
Effects for Efficiency: Asymptotic Speedup with First-Class Control
ICFP Program
Daniel Hillerström The University of Edinburgh, Sam Lindley Heriot-Watt University, UK / The University of Edinburgh, UK, John Longley The University of Edinburgh
DOI Media Attached
15:45
15m
Talk
Computation Focusing
ICFP Program
Nick Rioux University of Pennsylvania, Steve Zdancewic University of Pennsylvania
DOI Media Attached
16:00
15m
Talk
Retrofitting Parallelism onto OCamlDistinguished Paper
ICFP Program
KC Sivaramakrishnan IIT Madras, Stephen Dolan University of Cambridge, UK, Leo White Jane Street, Sadiq Jaffer Opsian and OCaml Labs, Tom Kelly OCaml Labs, Anmol Sahoo IIT Madras, Sudha Parimala IIT Madras, Atul Dhiman IIT Madras, Anil Madhavapeddy OCaml Labs
DOI Media Attached
16:15
15m
Talk
Liquid Information Flow ControlDistinguished Paper
ICFP Program
Nadia Polikarpova University of California, San Diego, Deian Stefan University of California at San Diego, USA, Jean Yang Carnegie Mellon University, Shachar Itzhaky Technion, Israel, Travis Hance Carnegie Mellon University, Armando Solar-Lezama Massachusetts Institute of Technology, USA
DOI Media Attached

Tue 25 Aug

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

02:30 - 04:30
Asia 2ICFP Program at ICFP Asia 2
Chair(s): Alan Jeffrey Mozilla Research

Public livestreams: YouTube, Bilibili (China)

02:30
15m
Talk
Achieving High-Performance the Functional Way - A Functional Pearl on Expressing High-Performance Optimizations as Rewrite Strategies
ICFP Program
Bastian Hagedorn University of Münster, Germany, Johannes Lenfers University of Münster, Thomas Koehler University of Glasgow, United Kingdom, Xueying Qin University of Glasgow, United Kingdom, Sergei Gorlatch University of Münster, Germany, Michel Steuwer The University of Edinburgh
DOI Media Attached
02:45
15m
Talk
Staged Selective Parser Combinators
ICFP Program
Jamie Willis Imperial College London, Nicolas Wu Imperial College London, UK, Matthew Pickering University of Bristol, UK
DOI Media Attached
03:00
15m
Talk
Kindly Bent to Free Us
ICFP Program
Gabriel Radanne Inria, Hannes Saffrich University of Freiburg, Peter Thiemann University of Freiburg, Germany
DOI Pre-print Media Attached File Attached
03:15
15m
Talk
Sealing Pointer-Based Optimizations Behind Pure Functions
ICFP Program
Daniel Selsam Microsoft Research, Simon Hudon Carnegie Mellon University, Leonardo de Moura Microsoft Research, n.n.
DOI Media Attached
03:30
15m
Talk
Effects for Efficiency: Asymptotic Speedup with First-Class Control
ICFP Program
Daniel Hillerström The University of Edinburgh, Sam Lindley Heriot-Watt University, UK / The University of Edinburgh, UK, John Longley The University of Edinburgh
DOI Media Attached
03:45
15m
Talk
Computation Focusing
ICFP Program
Nick Rioux University of Pennsylvania, Steve Zdancewic University of Pennsylvania
DOI Media Attached
04:00
15m
Talk
Retrofitting Parallelism onto OCamlDistinguished Paper
ICFP Program
KC Sivaramakrishnan IIT Madras, Stephen Dolan University of Cambridge, UK, Leo White Jane Street, Sadiq Jaffer Opsian and OCaml Labs, Tom Kelly OCaml Labs, Anmol Sahoo IIT Madras, Sudha Parimala IIT Madras, Atul Dhiman IIT Madras, Anil Madhavapeddy OCaml Labs
DOI Media Attached
04:15
15m
Talk
Liquid Information Flow ControlDistinguished Paper
ICFP Program
Nadia Polikarpova University of California, San Diego, Deian Stefan University of California at San Diego, USA, Jean Yang Carnegie Mellon University, Shachar Itzhaky Technion, Israel, Travis Hance Carnegie Mellon University, Armando Solar-Lezama Massachusetts Institute of Technology, USA
DOI Media Attached