Subjective summary of Lambda Days 2022

August 18, 2022 by Maria

This year LambdaDays, hosted in beautiful Kraków, Poland, were themed around teaching functional programming and trends in functional programming. The vibe was more formal than the ZuriHack we went to this June with Tomasz. Anyway, we attended a few interesting talks that sparked discussions later. Here is my subjective and non-exhaustive list of the teaching insights and new things to learn from the LambdaDays lectures.

Teaching

People do not see programming as a part of a general literacy, like natural languages or mathematics. I am particularly interested in how to introduce programming to primary school kids, and there were two inspiring keynote lectures that were addressing that.

First was “What every programmer should know about cognition” by Felienne Hermans. She described three types of memory (short, working and long-term) and how they contribute to learning programming languages. After the talk there was a discussion where Felienne shared her experience with teaching teenagers. She said that although we, programmers, see programming as a form of art, a lot of people see it purely utilitarian as yet another career path. That is why teenagers do not like “toy” languages like Logo, but want to learn the language that can give them a job, like Python. The teenagers, especially from the lower-income places, are very aware of the employment situation and that they will soon have to join the workforce. Another discussion that sparked after Felienne’s lecture was about the low number of programming girls and women. She shared the experience from the classroom, where a 13 yo boy was explaining to a girl that programming is not for girls. He could not have got this idea by himself, so most likely his dad or someone close had this opinion. Felienne asked all fathers and parents of sons to work as advocates of coding girls, as Guido van Rossum did, publically appearing in a “Python is for girls” t-shirt.

Second lecture and a definite star of the speaker floor was Sam Aaron with his keynote lecture about Sonic Pi. Sam showed how to spread enthusiasm towards programming and dress it in more non-programmers friendly universal language of music. Sonic Pi is an application to create music using lisp-like language to loop bits, modify sounds and samples etc. I encourage you to watch some of the Sams videos about the Sonic Pi to see the live demo.

List to read

  1. Functional Parsing for Novel Markup Languages by James Carlson is an alternative to Overleaf Latex online editor. It has an on-typing syntax check. Tool to remember for the time I want to produce a nicely formatted document with a lot of math formulas.
  2. The Power of Toys by David Nolen - how to test software by creating a simplified “good enough” model of the system. I want to read how this differs from creating a good QuickCheck test suite.
  3. Effectful by Paweł Szulc was a (very) quick intro on the Effectful library that allows for better grouping of effects in Haskell. Unfortunately the speaker did not have enough time booked for the presentation and the density of information was overwhelming. That is why it would be good to learn about different ways to handle effects in Haskell more systematically and see how Effectful looks in this landscape.
  4. Predicting and Preventing Chaos with Formal Methods in TLA+ by Thomas Gebert. In this lecture Thomas briefly showed different ways of formal verification of a program, focusing on usage of TLA+. I still am not sure how this could be used in practice to produce better quality software, so I would like to read more about the subject.
  5. Anosy: Approximate Knowledge Synthesis with Refinement Types by Niki Vazou where she talked about ANOSY implementation in Haskell using an example of geolocalization. The example showed a case of a service with lower access rights (approximate location) that can get more private information (exact location) by multiple calls. Niki showed how to prevent it using ANOSY. I would like to learn more about this library.

Ending my review, I need to mention that there were some people who used the lecture floor to give more of a stand up comedy show. Lambda Calculus Beep Boop by Einar Høst and Jonas Winje, where beeps and boops were used instead for regular operations of lambda calculus, was a feast of nerdy jokes served in a form of dialog of two guys figuring how to use sounds and images instead of written down operations.