Program
All times are in Central European Summer Time (CEST). Please translate these into your own time zone, using a service such as time and date.
For the talks & discussions and also the social meetings we use Zoom. Although Zoom can work in a modern web browser, you best download the software and familiarise yourself with its features beforehand.
We are proud to announce the invited speakers of IFL 2021:
- Stephanie Weirich - How to implement the lambda calculus, quickly
abstract
Alpha-equivalence and capture-avoiding substitution are two fundamental operations in the implementation of the lambda calculus. But, what is the best way to implement these operations in Haskell? I wish I knew.
In this talk, which is part tutorial and part work-in-progress, I'll present what I have learned from gathering many, many implemenations of these operations into the same repository and comparing their execution using a small benchmark suite.
One observation to make is that that most of these implementations of capture-avoiding substitution require multiple traversals of the AST, which can lead to significant slowdown on larger examples. However, by reifying, delaying, and fusing these traversals, we can dramatically improve performance. Not only that, but I will also show how this optimization can be invisibly incorporated into binding libraries that automatically provide capture-avoiding substitution "for free".
- John Hughes - Testing smart contracts (abstract TBA).
Day 1, Wednesday, September 1
- 13:00 walk around, socialize
- 13:20 welcome
- 13:30 keynote John Hughes - Testing smart contracts Recording
- 14:30 break & discussions
- 14:50 - 15:50 session I (chair: Simon Thompson)
- 14:50 Minh Nguyen, Roly Perera, Meng Wang - Composable, Modular Probabilistic Models IFL21_Nguyen.pdf Recording
- 15:20 Liliane-Joy Dandy, Emmanuel Jeandel, Vladimir Zamdzhiev - Qimaera: Type-safe (Variational) Quantum Programming in Idris IFL21_Dandy.pdf Recording
- 15:50 break & discussions
- 16:10 - 17:10 session II (chair: Meng Wang)
- 16:10 Amine Zouhair, Nadine Kabbara, Olivier Boudeville, Florian Mancel - Application of Functional Programming in the Energy Industry: A Local Energy Market Simulator Use Case IFL21_Zouhair.pdf Recording
- 16:40 Andrey Mokhov - Stroll: a build system that doesn’t require a plan IFL21_Mokhov.pdf Recording
- 17:10 discussions
- 17:15 virtual pubs
Day 2, Thursday, September 2
- 13:00 walk around, socialize
- 13:30 - 14:30 session III (chair: Cynthia Kop)
- 13:30 Ian Sabourin, Stefan Monnier, Marc Feeley - Computation over partial information IFL21_Sabourin.pdf Recording
- 14:00 Alejandro Gomez-Londoño, Magnus O. Myreen - A flat reachability-based measure for CakeML’s cost semantics IFL21_Gomez.pdf Recording
- 14:30 - 14:50 break & discussions
- 14:50 - 15:50 session IV (chair: Thomas van Binsbergen)
- 14:50 Michał Gajda - All you need is monoid IFL21_GajdaMonoid.pdf Recording
- 15:20 Joanna Sharrad, Olaf Chitil - Refining the Delta Debugging of Type Errors IFL21_Sharrad.pdf Recording
- 15:50 break & discussions
- 16:10 - 17:10 session V (chair: Peter Achten)
- 16:10 Caleb Helbling, Fırat Aksoy - Solving the Funarg Problem with Static Types IFL21_Helbling.pdf Recording
- 16:40 Gijs van Cuyck, Sven-Bodo Scholz - In-Place-Folding of Non-Scalar Hyper-Planes of Multi-Dimensional Arrays IFL21_vanCuyck.pdf Recording
- 17:10 break & discussions
- 17:30 - 18:40 session VI (chair: Rinus Plasmeijer)
- 17:30 John Reppy, Olin Shivers - 3CPS: The Design of an Environment-focussed Intermediate Representation IFL21_Reppy.pdf Recording
- 18:00 Niek Janssen, Sven-Bodo Scholz - On Mapping N-Dimensional Data-Parallelism Efficiently into GPU-Thread-Spaces IFL21_Janssen2.pdf Recording
- 18:30 discussions
- 18:35 virtual pubs
- 20:00 - 21:30 steering committee meeting
Day 3, Friday, September 3
- 13:00 walk around, socialize
- 13:20 announcements
- 13:30 - 14:30 session VII (chair: Keiko Nakata)
- 13:30 Seyed Hossein Haeri, Neil Davies, Peter Thompson, Peter Van Roy - Mind Your Outcomes - Quality-Centric Systems Development in a Pure Functional Framework IFL21_Haeri.pdf Recording
- 14:00 Michał Gajda - Less Arbitrary Waiting Time IFL21_GajdaWaitingTime.pdf Recording
- 14:30 break & discussions
- 14:50 keynote Stephanie Weirich - How to implement the lambda calculus, quickly Recording
- 15:50 break & discussions
- 16:10 - 17:10 session IIX (chair: Phil Trinder)
- 16:10 Mark Gerarts, Marc de Hoog, Nico Naus, Tim Steenvoorden - Creating Interactive Visualizations of TopHat Programs IFL21_Gerarts.pdf Recording
- 16:40 Damian Frölich, L.Thomas van Binsbergen - Towards Incremental Language Definition with Reusable Components IFL21_Frolich.pdf Recording
- 17:10 closing
- 17:20 discussions
- 17:25 virtual pubs
The programme is also available in printer-friendly format on one page programme-IFL-2021.pdf.