Tarides Logo
A view from the roof of the Duomo di Milano down onto a square at sunset

Looking Back on our Experience at ICFP!

Isabella Leandersson

Communications Officer

Posted on Wed, 23 Oct 2024

It has been a while since the biggest functional programming event of the year: ICFP 2024 in Milan, Italy. The annual conference, sponsored by ACM SIGPLAN, combines world-class talks with workshops on some of the biggest functional programming languages, including ML, Haskell, OCaml, Scheme and Erlang.

Tarides are co-sponsors of ICFP, and several of our team members attend each year. This year, we had six talks given by Tarides team members and many of our colleagues chose to go as participants. I have asked several of them to share their experience at this year's ICFP to give you a taste of what the conference is all about.

The Tarides Talks

Before we get started, let's recap the talks created or co-created by Tarides engineers and where you can watch them after the fact.

Experience Reports

Curious about ICFP or missing the action already? I've asked several of my fellow Tarides team members who attended ICFP this year to share their thoughts and experiences. Let's dive in!

Why ICFP?

ICFP stands out to functional programming enthusiasts for gathering a large community of like-minded people in one place. As Jan Midtgaard puts it, "it's a wonderful mix of academics and industry people gathering due to a common interest in functional programming". KC Sivaramakrishnan has been attending ICFP since 2009 when he was a PhD student, and "ICFP is now the place where I meet friends and collaborators as well as the future generation of functional programming researchers".

Another reason behind the conference's enduring popularity is, of course, the packed schedule full of high-quality talks. The different tracks offer a variety of opportunities for participants to explore topics that interest them. Ambre Suhamy comments, "I know for sure that I will learn something new and come back from ICFP with more knowledge".

Stand-Out Talks

On the topic of talks, my colleagues attended several across different days and tracks. I asked them to share some of their impressions from the presentations, and while there were far too many to include them all, let's check out some of what they had to share!

  • ICFP Paper: Functional Programming in Financial Markets and OCaml Workshop: Recursion schemes in OCaml: Tim McGilchrist really enjoyed these two talks, the first focussing on Standard Chartered Bank's use of typed functional programming (Haskell) across their entire tech stack, and the second on Bloomberg's use of OCaml modelling bilateral financial contracts. "An interesting experience report for recursion schemes at Bloomberg. I'd previously only seen this implemented in Haskell!"
  • ICFP Papers: Oxidising OCaml: To KC Sivaramakrishnan, this was a "technical highlight". The talk centred around the potential for optimising heap allocations in OCaml without compromising on safety guarantees. "The modal types work aims to get the best of Rust into OCaml without letting go of what OCaml is good for – and the Rust-like features are opt-in!"
  • OCaml Workshop: Opam 2.2: Both Riku Silvola and Jan were impressed by this presentation on the new opam 2.2 release which notably brought native Windows support among other features. "That Raja Boujbel from OCamlPro, Kate Deplaix from Ahrefs (and the OCaml Software Foundation), and David Allsopp from Tarides gave a joint opam 2.2 talk sent a wonderful signal that three OCaml companies have worked together to do good for the community", said Jan. Riku agreed, commenting "David, Kate, and Raja presenting the long-awaited opam 2.2 release with its plethora of new features highlighted a longstanding and fruitful open-source collaboration across companies". They also announced opam's new time-based release cycle of updates every six months, check out the opam 2.3.0 blog post to learn more!
  • ML Track: Pattern Matching on Mutable Values: This one stood out in Ambre's mind for its memorable demonstration of an obscure corner case where the pattern-matching compiler would generate incorrect code. "It was insane; here's this five-line snippet of OCaml code; you can run it today, and it segfaults!" The original bug was found in 2016, and work has been ongoing to narrow down and fix the problem. Even though it was a rare edge case, the community rallied to address it, and a bug fix will be included in OCaml 5.3.
  • OCaml Workshop: Project-Wide Occurrences: Riku highlighted the work presented by Ulysse Gérard, introducing a new feature of editor tooling that lets users query all occurrences of a selected value anywhere in their project. "This work also highlights the important part the compiler plays in the overall platform vision, as the feature required work to be done not only in ocaml-lsp-server and merlin but also in dune and the compiler", Riku said.

Memorable Moments

My colleagues' week in Milan created several lasting memories. Ambre chaired her first session, the 3rd OCaml Workshop session, which included presentations on Priodomainslib, Saturn, Picos, and Distributed Actors. She also attended FARM, the international workshop on Functional Art, Music, Modelling, and Design. Ambre remembers the workshop as "people using music to make programs, or programming to make music, and understanding music through programming".

Tim recalls his many conversations between events with a variety of people in the hallways. It might not be the first thing that springs to mind, but the conversations that strike up organically at ICFP can be enlightening. For example, "people generally didn't know that you could use GBD/LLDB on OCaml binaries and, once they knew that, they were very excited about using those tools on their OCaml programs".

KC is focussed on the future, highlighting the feedback he received from participants and how it will help Tarides going forward. "I got some really nice feedback from folks, building on OCaml, about the work that Tarides is doing. I also got lots of honest feedback on what's not working. At the end of the day, our user community matters, and we need to solve their pain points so that OCaml becomes an advantage and not a technical risk for their engineering teams." He also wants to keep contributing to the future of ICFP: "I'm on the ICFP steering committee and will be a DEI co-chair for the next ICFP. I want to ensure that ICFP remains a thriving, friendly, and inclusive place for all of our attendees".

Finally, we can't discuss a Milan conference without mentioning the food! All the participants enjoyed sampling the local Italian fare and just look at this delicious pizza!

An Italian-style pizza with a whole piece of mozzarella cheese in the middle, surrounded by sliced meat.

Join us Next Year!

The good news is that ICFP happens every year, so if you didn't attend this year, you can always set your sights on next year. The conference also moves around, alternating locations to make it easier for participants around the globe to join. We look forward to seeing you at ICFP 2025 in Singapore, so come find us if you're going!

You can reach out to us on X, Mastodon, Threads, and LinkedIn. Stay in touch!

Open-Source Development

Tarides champions open-source development. We create and maintain key features of the OCaml language in collaboration with the OCaml community. To learn more about how you can support our open-source work, discover our page on GitHub.

Explore Commercial Opportunities

We are always happy to discuss commercial opportunities around OCaml. We provide core services, including training, tailor-made tools, and secure solutions. Tarides can help your teams realise their vision