!! Program

All times are in Central European Summer Time (CEST). Please translate these into your own time zone, using a service such as [[https://www.timeanddate.com/ | time and date]].

For the talks & discussions and also the social meetings we use [[https://zoom.us/ | 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".
  -> Link to benchmark repository: [[https://github.com/sweirich/lambda-n-ways]].

* '''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 [[https://youtu.be/R6DQ9jJm6JY|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 [[(Attach:)IFL21_Nguyen.pdf]] [[https://youtu.be/hLxTULZXsUQ|Recording]]'''
* '''15:20 {+Liliane-Joy Dandy+}, Emmanuel Jeandel, Vladimir Zamdzhiev - Qimaera: Type-safe (Variational) Quantum Programming in Idris [[(Attach:)IFL21_Dandy.pdf]] [[https://youtu.be/XAlbLbYXHrY|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 [[(Attach:)IFL21_Zouhair.pdf]] [[https://youtu.be/WoFgAta7RC4|Recording]]'''
* '''16:40 Andrey Mokhov - Stroll: a build system that doesn’t require a plan [[(Attach:)IFL21_Mokhov.pdf]] [[https://youtu.be/OTc8hLds800|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 [[(Attach:)IFL21_Sabourin.pdf]] [[https://youtu.be/21Xeh7N-_Ko|Recording]]'''
* '''14:00 {+Alejandro Gomez-Londoño+}, Magnus O. Myreen - A flat reachability-based measure for CakeML’s cost semantics [[(Attach:)IFL21_Gomez.pdf]] [[https://youtu.be/0MojL4qxswg|Recording]]'''
* 14:30 - 14:50 break & discussions
* ''14:50 - 15:50 session IV (chair: Thomas van Binsbergen)''
* '''14:50 Micha&#322; Gajda - All you need is monoid [[(Attach:)IFL21_GajdaMonoid.pdf]] [[https://youtu.be/mhXF6x2niFk|Recording]]'''
* '''15:20 {+Joanna Sharrad+}, Olaf Chitil - Refining the Delta Debugging of Type Errors [[(Attach:)IFL21_Sharrad.pdf]] [[https://youtu.be/sLk8NZxjhSQ|Recording]]'''
* 15:50 break & discussions
* ''16:10 - 17:10 session V (chair: Peter Achten)''
* '''16:10 {+Caleb Helbling+}, F&#305;rat Aksoy - Solving the Funarg Problem with Static Types [[(Attach:)IFL21_Helbling.pdf]] [[https://youtu.be/2HspJ3kIFHQ|Recording]]'''
* '''16:40 {+Gijs van Cuyck+}, Sven-Bodo Scholz - In-Place-Folding of Non-Scalar Hyper-Planes of Multi-Dimensional Arrays [[(Attach:)IFL21_vanCuyck.pdf]] [[https://youtu.be/hKVox-C9WT8|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 [[(Attach:)IFL21_Reppy.pdf]] [[https://youtu.be/VG_MD9vxCuU|Recording]]'''
* '''18:00 {+Niek Janssen+}, Sven-Bodo Scholz - On Mapping N-Dimensional Data-Parallelism Efficiently into GPU-Thread-Spaces [[(Attach:)IFL21_Janssen2.pdf]] [[https://youtu.be/2ZRaBkdJdG8|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 [[(Attach:)IFL21_Haeri.pdf]] [[https://youtu.be/weg4D1LeemU|Recording]]'''
* '''14:00 Micha&#322; Gajda - Less Arbitrary Waiting Time [[(Attach:)IFL21_GajdaWaitingTime.pdf]] [[https://youtu.be/ksELUa3kEdU|Recording]]'''
* 14:30 break & discussions
* '''14:50 keynote Stephanie Weirich - How to implement the lambda calculus, quickly [[https://youtu.be/6JH8bFRohn8|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 [[(Attach:)IFL21_Gerarts.pdf]] [[https://youtu.be/twZFSyIzrw0|Recording]]'''
* '''16:40 Damian Frölich, {+L.Thomas van Binsbergen+} - Towards Incremental Language Definition with Reusable Components [[(Attach:)IFL21_Frolich.pdf]] [[https://youtu.be/t3rjTyr-tAY|Recording]]'''
* 17:10 closing
* 17:20 discussions
* 17:25 virtual pubs


The programme is also available in printer-friendly format on one page [[(Attach:)programme-IFL-2021.pdf]].
