Haskell eXchange 2022: Online Conference

Thursday, 8th - Friday, 9th December, Online Conference

13 experts will be speaking. Starts at 9:00 AM BST (9:00 AM UTC)

The world's most vibrant Haskell conference is back for an 11th great year!

Connect with hundreds of like-minded Haskell enthusiasts as we explore what's new and what's next in Haskell.

We're thrilled to once again welcome the global Haskell community to join the Haskell eXchange conference via our virtual conference platform, where across 2 jam-packed days, you'll discuss new technologies, meet future collaborators, and learn new skills through practical, coding-based sessions.

Or, if you're keen to get some face time with fellow Haskellers, why not make the trip to CodeNode in London, England, where you'll learn side-by-side with hundreds of other Haskell developers at our in-person conference

Plus, back by popular demand, our “Novice Track”day will offer a bonus day of beginner-friendly talks exclusively for online attendees.

Simon Peyton Jones delivers a keynote session at previous Haskell eXchange conference.

What is Haskell eXchange?

Haskell is an advanced, purely functional programming language. What began as a research language has evolved into a unique, cutting edge language that is used in industries as diverse as Aerospace, Automotive, Healthcare, Finance, Education, Retail, Logistics, SaaS, Online Retail, TV and Music.

Haskell eXchange is a community-focused conference for Haskell enthusiasts. At Haskell eXchange all of the content is selected by developersfor developers.

Past keynotes have included Simon Peyton Jones, Gabriele Keller, Niki Vazou, Stephanie Weirich, Sukant Hajra, Simon Marlow, and Gabriel Gonzalez. We'll be announcing this year's VIP keynotes a little closer to the event, so stay tuned! If you'd like to be among the first to hear about updates, register here.

Why attend?

  • Icon representing Haskell code
    Learn new skills in practical, coding-based talks
  • Icon representing real-world uses of Haskell
    Discover real-world applications of Haskell programming language
  • Icon representing two Haskell enthusiasts speaking
    Connect with fellow Haskellers in breakout sessions

Who should attend?

Last year at Haskell eXchange we welcomed 868 Haskellers from 79 countries!

As a community-focused event, it's our aim to create a Haskell conference that is welcoming to people from every corner of the Haskell world — from Industry to Academia and everything in between.

At Haskell eXchange you'll be learning side by side with Haskellers of every stripe, including the experts who maintain the language, engineers who are using Haskell in enterprise, and complete newcomers.

This highly social conference is designed to be accessible and offer something for every skill level. Whether you're working with Haskell every day, or a hobbyist experimenting with it after hours, you don't want to miss Haskell eXchange!

How does it work?

Haskell eXchange will be hosted as a Hybrid conference with both speakers and attendees joining either in-person or online.
Haskell eXchange:
Online Tickets

Learn from thought leaders and top experts from the world of functional programming as you connect with like-minded Haskellers to share skills, insights, and lessons from the comfort of your own device.

Online Tickets include access to our virtual events platform, where you'll be able to watch live sessions, participate in live Q&As from the event, and network with attendees from around the globe.

You'll also gain access to the talk recordings within 48 hours of the event's conclusion.

Online tickets do not include access to the In-Person event.

Book Today and Save!

Haskell eXchange:
In‑Person Tickets

Join us at London's CodeNode, where you'll interact and network with hundreds of like minded Haskeller developers while learning from some of the top experts in the world of functional programming.

For the In-Person event, some speakers will be on site, while others will be broadcast. Schedule details of will be announced closer to the event, but are subject to change.

In-Person Tickets include access to the Online event, as well as the talk recordings.

Haskell eXchange will follow protocols set out in UK government guidelines for COVID-19 .

In‑Person Ticket Info
Haskell eXchange:
Novice Track Tickets

Join us on 7 December for a day of free, beginner-friendly talks exploring the fundamentals of functional programming and the basics of Haskell.

Whether you're new to Haskell yourself, or know someone who is, the Haskell eXchange Novice Track is the perfect place to start with one of the world's most exciting programming languages.

The Novice Track will be an online-only event, with talk recordings within 48 hours of the event's conclusion.

Novice Track tickets are free and do not include access to the main Haskell eXchange: In-Person or Online conference.

Learn More

Book with Confidence

We know these are uncertain times and it can be hard to commit to future events. Should COVID restrictions make it impossible for us to host YOW! London in person, your ticket will be converted to a YOW! London: Online ticket and you will be refunded the price difference.

Diversity Matters Scholarship

Skills Matter offers scholarships to people from underrepresented groups in tech who wouldn't otherwise be able to attend.

If you believe you are a member of a group that is underrepresented within the tech community or at technical conferences we encourage you to apply.

Learn More

Program Committee

All of the talks at Haskell eXchange are selected by our volunteer Program Committee which evaluates and selects which speakers and topics will be included in the conference program. This committee includes developers, practitioners and enthusiasts of all levels.

This year's Program Committee includes:

Excited? Share it!


Untangle Your Spaghetti with Liquid Haskell

Liquid Haskell (LH) is a tool regarded to verify programs. In this talk, however, we will look at using it as a tool to understand what a program is doing via specifications. We will look at a gnarly function (Data.List.permutations) from the base library and show how its meaning can be unraveled by writing down specifications for each piece of the implementation, while having LH prove that the pieces really do what the specifications say!

This topic was chosen because it shows how to address universal engineering needs: 1) explaining how a function works, 2) verifying the explanation is accurate, and 3) ensuring it stays up-to-date. The lack of documentation of the chosen function had an observable impact in the community this year [1]. LH is attractive to solve these problems because, unlike other approaches, it doesn't require extending the Haskell language, and it reuses the effort that goes into developing dedicated tools to reason about logic like SMT solvers.

Facundo Domínguez

Facundo Domínguez is a software engineer at Tweag. He has been using Haskell in industry during the last two decades, and he is a long-time contributor to Haskell libraries and GHC. Of late, he has been contributing to Liquid Haskell to make it easier and faster to use until it takes over the world.

How to Choose a Haskell Web Framework

There are many tools to implement web apps. While Haskell is not the most popular backend language for web development, it also deserves attention. And to get this attention, we should talk about the variety of frameworks with their strong and weak spots, talk about modern user-friendly tools, show real-world examples, and so on. Thus, the first goal of my talk is to promote Haskell as a good web development tool.

However, using Haskell as the primary backend language implies choosing among plenty of web frameworks. I’ll try to give general guidance on how a choice of the most relevant one might be approached, and give tips on when each framework will be more appropriate.

Firstly, there will be a short overview of popular frameworks like Servant, Obelisk, IHP, and others. Then we’ll implement a simple app using a couple of them to display the differences in practice and show the pros and cons of each framework. Furthermore, we’ll consider what happens if we add a non-trivial functionality to our app.

I hope my talk could make the life a bit easier for (future) Haskell web developers.

Alyona Antonova

Alyona is a Software Engineer with Serokell.

How We Haskell: Enterprise Edition

Haskell is used in the enterprise, but the story hardly stops there. The language and ecosystem present many options, what choices are being made to facilitate mainstream development? What are the pain points? What tools are used? Do enterprise organizations expect things that are missing? How is the language itself used? Here we journey through the maze of choices with the language and the ecosystem, explore concrete choices that have been beneficial, and more.

This session follows up on last year's, Haskell in the Enterprise: A Report from in the Belly of the Whale, offering new lessons for teams using Haskell in the enterprise.

Trevis Elser

Software Engineer
Flipstone Technology Partners, Inc.

Live Coding a Roguelike Game

Live coding is a holy grail of fast development loop: see changes to the server immediately, leave code to be developed until it is needed, and never need to manually replay the game when developing it.

But can a beginner learn it?

Yes! And one should, since it will greatly speed up your development process.

In this talk, Michal proposes a simple way to do live coding and event sourcing Elm-style during the development of a game using Haskell. This method is the product of a long effort to reduce the effort and complexity of debugging and writing interactive software, and it is recommended for all Haskell beginners!

Michał J. Gajda

Michał J Gajda is a bioinformatician turned data scientist, turned banker, turned software startup founder. He loves to mix the best of science and programming methodology into tasty dishes of ultimate utility.

Gabriella Gonzalez on "Grace"

We are excited to welcome Gabriella Gonzalez to Haskell eXchange!

Gabriella joins us to discuss her new "Grace browser" project, which can dynamically convert a wide variety of functional programming expressions to their equivalent HTML.

Stay tuned for more details on the talk, to be announced very soon!

Gabriella Gonzalez

Gabriella is a functional programming evangelist best known for her blog, Haskell for all (haskellforall.com), and also for authoring the Dhall configuration language (dhall-lang.org). She not only promotes functional programming languages, but also draws inspiration from them to rethink and simplify imperative programming architectures. When she's not contributing to open source (@Gabriella439) she frivols away her time on Twitter (@GabriellaG439).

Haskell and Category Theory at Vodafone

This talk will look at safety in Haskell and in financial transactions in particular, before offering an introduction to basic Category Theory in the context of real world business code.

As lead of the Vodafone Germany project, Rob will talk about the work his team is doing for Vodafone Germany and UK using Haskell to revolutionise Vodafone's invoice verification and saving millions of Euros in the process.

This project uses a number of technologies to provide fault tolerant auto-scaling and parallel processing. He'll share how they sold the project to the client and how Haskell fits into that project, where more Haskell could have helped, and ultimately client satisfaction with Haskell-based deliveries.

Finally, Rob will dive into how they are utilising Category Theory to prove correctness and perform meta-programming.

Rob Harrison

Rob is a Lead Architect and Senior Manager at Flowmo.co, a software development agency and consultancy based in Cornwall, UK. After founding a couple of tech startups Rob worked in product development for most of his career, before moving to agency-based development in the south west. He has been a technical lead on projects for clients such as Vodafone, Tesco, Foot Locker and Winsor & Newton. Rob is a specialist at delivering scalable, redundant and highly available container-based architectures; most recently for processing and storing data at scale. His current product for client Vodafone uses Haskell in combination with open source technologies to validate huge quantities of invoices per month.

Just Because It Works Doesn't Mean It's Right: Finding Elegance in Quadtrees

Quadtrees are well-known containers for spatial data, but little attention has been given to them in a functional setting. In this talk we will explore the design space of quadtrees and find reusable techniques to discover elegance, in both their design and implementation.

Sandy Maguire

Sandy is an independent researcher, who spends his time dabbling in Haskell. He is the author of Thinking with Types, Algebra Driven Design, the polysemy library, and the Wingman extension for the Haskell Language Server. By day, he likes strumming guitars.

Glean: Data About Code

What if accurate semantic information about your code was available through a rich query language that produced results in milliseconds? And what if that worked at scale, so that you had information not just about the files you're working on, but the entire stack in which your code lives? You could use that to build IDE integration, code search and browsing tools, code analysis tools, as well as any ad-hoc tooling or infrastructure that needs accurate semantic information about code.

At Meta we're building Glean, an open-source system for storing and querying information about code at scale. Glean is implemented mostly in Haskell, using the open-source RocksDB engine for storage. Glean comes with indexers for several languages.

In this talk I'll take a tour through what Glean can offer, with a particular focus on how Haskell has enabled some rather nifty features that make working with Glean safer and more efficient.

Simon Marlow

Software Engineer

Keynote by Simon Peyton Jones

We are honoured to welcome back Simon Peyton Jones to the Haskell eXchange. Since the very first Haskell eXchange in 2012, we've been lucky to have Simon join us each year to share his unique perspective on our favourite programming language. Over the years he's helped us explore everything from front end features to join points , Linear Types, and pattern matching — all the way to last year's keynote, Provably correct, asymptotically efficient, higher-order reverse-mode automatic differentiation.

This year Simon will join us with a brand new technical talk. Details will be announced closer to the conference. Stay tuned! Check out all of Simon's previous Haskell eXchange talks here.

Simon Peyton Jones

Simon Peyton Jones, MA, MBCS, CEng, graduated from Trinity College Cambridge in 1980. Simon was a key contributor to the design of the now-standard functional language Haskell, and is the lead designer of the widely-used Glasgow Haskell Compiler (GHC). He has written two textbooks about the implementation of functional languages.

After two years in industry, he spent seven years as a lecturer at University College London, and nine years as a professor at Glasgow University before moving to Microsoft Research (Cambridge) in 1998.

His main research interest is in functional programming languages, their implementation, and their application. He has led a succession of research projects focused around the design and implementation of production-quality functional-language systems for both uniprocessors and parallel machines.

More generally, he is interested in language design, rich type systems, software component architectures, compiler technology, code generation, runtime systems, virtual machines, and garbage collection. He is particularly motivated by direct use of principled theory to practical language design and implementation -- that's one reason he loves functional programming so much.

Handling Effects in Monadic Computations with No Surprises

Popular methods for handling effects in monadic computations (in particular the mtl library) bring with them several subtle issues. When encountered, these issues tend to confuse non-experts and require debugging to find out what's going on, while (in the worst case) your application no longer works.

I'll walk the audience through what these issues are [1] and how the effectful [2] library solves them. I'll also talk about its design philosophy and how it's able to improve over the status quo in terms of semantics, performance and interoperability with the existing ecosystem without making significant sacrifices.

[1] https://github.com/haskell-effectful/effectful/blob/master/transformers.md [2] https://github.com/haskell-effectful/effectful

Andrzej Rybczak

Andrzej Rybczak is a professional Haskell developer with 10 years of experience and author/contributor of multiple open source Haskell libraries used in production (notable examples: optics, log-base, hpqtypes). He has also contributed patches to GHC. His hobbies include walking among nature and dancing.

Sharing is Caring? Comparing ownership in Haskell and Rust

Substructural type systems such as linearity, uniqueness, or ownership track sharing of values in the type system. Haskell’s type system supports linearity through the experimental LinearTypes; the closely related concept of uniqueness has been a central component in the type system of the Haskell-like programming language Clean for over 25 years. The increasing popularity of Rust introduced the world to an imperative language with a similar concept: ownership. This talk will be an introduction to these concepts, as well as a comparison between these different systems.

Edsko de Vries

Edsko has been using Haskell for nearly 20 years, and has been a professional Haskell consultant with Well-Typed for roughly half that time. He holds a PhD in advanced (substructural) type systems for pure functional languages from Trinity College, Dublin.

As a Well-Typed consultant, he has provided training across the world, from Johannesburg to Boston to Singapore. He has worked on a large variety of projects, both open source as well as closed source for specific clients. Some of the open source projects he has contributed to are Cloud Haskell, Hackage, the Hackage security library, ghc, Ziria (a DSL developed by Microsoft) and cabal. Some general purpose libraries he has (co)developed include generics-sop, nothunks, recover-rtti and large-records.

The last few years he has worked as a consultant with IOHK on the Cardano blockchain, where he was responsible for the overall architecture of the consensus layer, designed the hard fork combinator, and did research on formal specification of a crypto wallet and invented a novel coin selection algorithm.

Solving the Climate Crisis with Monads

Our mental models of the world inform our actions. Capitalism forces companies to act in unsustainable ways. Can reformulating this in terms of pure functions and monads shed light on this problem? We will argue, "yes", with some examples and implications that come from this way of thinking, as well as some resources and open questions for those willing to explore more.

Noon van der Silk

Senior Software Engineer, Fix Planet Club

I'm a long-time programmer who has recently become extremely passionate and interested in the climate emergency. I've been working as a Haskell programmer for the last few years, after a bit of a diverse (programming) career in different fields from creative AI, teaching, and quantum computing. I spend most of my time reading books, and posting some small reviews - https://betweenbooks.com.au/ - and otherwise am really interested in community building, connecting people, kindness, and understanding how to build a sustainable business.

Clash: Haskell for FPGA Design: It's easy as 1-2-3...419,200

FPGAs can bring the versatility of custom chip design to the desktop of the hobbyist. But what does it look like to actually make something fun out of an FPGA, and how can Haskell help with that?

In this talk, we'll find out what an FPGA even is, and then learn just enough Clash to build, in full detail, a fully functioning Flappy Bird circuit. Turns out, all we need to do is count to 419,200 and the rest just follows!

Gergő Érdi

Gergő Érdi has extended GHC by adding pattern synonyms, used SMT solvers to analyze old text adventure games, and programmed AVR microcontrollers in Rust before it was cool. Lately, his chaotic interest turned to Clash, the Haskell to FPGA compiler. This led to him writing two things: the "Retrocomputing with Clash" book, and self-introductions in the third person.

Get Involved

Would you like to speak at Haskell eXchange? We want to hear your proposals!

Speaking at a conference is a powerful way to share your ideas and influence where your favourite technologies are headed. As a speaker, you will have the opportunity to share your knowledge and experience with a global audience of practitioners. We recommend that you explore the programs from previous editions of Haskell eXchange before submitting a talk proposal. Every conference is unique, and developing an understanding of our audience and previous sessions will provide your talk with the best chances of being selected.

At Haskell eXchange we're looking for talks and workshops on all things from the world of Haskell and GHC, but also topics that brush up against that world, including other programming languages, architecture, security and more.

New this year! We are looking to hear your proposals for Half-Day and Full-day Haskell workshops.

This year we are we are actively encouraging submissions on the following topics:

  • Haskell libraries and language extensions
  • Software testing
  • Tooling and tool suites
  • Security
  • Concurrency in distributed systems
  • Integration of Haskell on the browser
  • What can Haskell learn from other languages (e.g.Scala, Racket, Rust)
  • How to make the transition from learning to real-world Haskell
  • Adoption stories and real-world applications of Haskell
  • Haskell and Hardware (e.g. Bluespec, ImplicitCAD, Clash)
  • Optimization and Performance
  • Running productive Haskell teams in industry
  • Data and Machine Learning
  • Applications built using Haskell
  • Mentoring/Community
  • This year we are especially looking for introductory talks on Advanced Haskell topics. So even if you don't have something burning hot to share, you've probably got some knowledge to share about a more intermediate topic.

Submit Your Talk

Skills Matter conferences are programmed by and for our community, and we welcome submissions from around the globe.

All talks for Haskell eXchange will be selected by Skills Matter and a Programme Committee of volunteer community members. Submissions are open to anyone, and we especially encourage first-time speakers to submit a proposal.

Sessions should take one of the following formats:

  • 40‑minute talk
  • 15‑minute lightning talk
  • Half‑day workshop
  • Full‑day workshop

Proposals must be submitted to Skills Matter by 23:59 UTC on 11 September 2022 in order to be considered by the program committee.

Chosen speakers will receive two free tickets to the conference: one for the speaker and one for a guest of their choosing.

Please familiarise yourself with our Code of Conduct before submitting. You can find it here.


All Haskell eXchange sessions will be recorded.

After the conference, recordings are available to Haskell eXchange ticket holders and Skills Matter Premium Members for a period of 90 days. After this time, they will become freely available on the Skills Matter platform.

Woman speaking at an event.

First Time Speaker?

We actively encouraging first-time speakers to submit a proposal to Haskell eXchange. You've got a unique point‑of‑view and we want to hear it.

New voices will strengthen the Skills Matter community and help it grow. We strongly encourage new users and first-time speakers to submit a proposal and are very excited to read proposals featuring your fresh perspective.

If you would like to discuss your proposal before submitting, please contact us at conferences@skillsmatter.com.

Diversity Matters Scholarship

Is it rare that you see someone at tech conferences that reminds you of yourself? Then you’re probably underrepresented at tech conferences.

At Skills Matter we are committed to supporting diversity in speakers, conference participants, and the wider technology community regardless of regardless of ability, ethnicity, gender, sexual orientation, religious views (or lack thereof) and socio-economic status.

To increase diversity at Skills Matter events we offer scholarships to people from underrepresented groups in tech who wouldn’t otherwise be able to attend.

If you believe you are a member of a group that is underrepresented within the tech community or at technical conferences we encourage you to apply.


Woman raising hand with a question while other woman points at her.

Become a sponsor of Haskell eXchange

Whether you're looking to attract talent to your team or spread awareness of your company, sponsoring Haskell eXchange is a terrific way to support and connect with our global community of Haskell enthusiasts.

We offer a variety of opportunities for continuous visibility and continuous engagement. Community is at the heart of all we do at Skills Matter, and we believe it is mutually beneficial to foster genuine connections between our members and truly innovative businesses.

Whether you’re looking to develop relationships with our members, or to showcase your product and spread brand awareness, we’d love to find a way to create meaningful interactions between you and our community.


Hold tight, skillscasts coming soon!


Other Years

Thank you to our sponsors and partners