Haskell eXchange 2021: Pro Track

Tuesday, 16th - Wednesday, 17th November, Online Conference

6 experts will be speaking. Starts at 12:00 PM BST (12:00 PM UTC)

Join us for the 10th annual Haskell eXchange, a 3‑day online conference with content selected by developers for developers.

Over these 2 "Pro Track" days, you'll hear the latest from Haskell thought leaders, connect with fellow Haskellers in breakout sessions, and learn new skills in practical, coding-based talks.

Don’t miss this opportunity to learn and share your skills with the world’s most vibrant Haskell gathering.

Book today for only £99


If you've heard of Haskell or Functional Programming but aren't sure where to start, our new free "Novice Track" day is the perfect no-pressure way to learn about Haskell.

Register Here

Haskell eXchange 2021

The 2021 Haskell eXchange will be an online conference hosted on the Hopin platform.

At Skills Matter, we’ve chosen to see the events of the past year as a challenge to make our content and community more inclusive and accessible to all. Beyond the COVID‑19 pandemic, we have a vision of a community where knowledge sharing and skills transfer are not limited by physical barriers.

By hosting Haskell eXchange online in 2020, we were able to truly welcome a global community of Haskell enthusiasts and developers to the conference.

We are excited to be able to offer this opportunity again for 2021 and hope you can join us!

Explore Haskell eXchange 2021

Get involved, plan your conference, or start your learning today

Haskell eXchange 2021 programme

View the programme

Our 3-day online conference will feature experts and enthusiasts pushing the bounds of Haskell in both industry and academia.

We'll be announcing our first keynotes in early 2021, so stay tuned.

speakers coming soon
Haskell eXchange 2021 Call for Papers

Want to speak?

Would you like to deliver a talk at Haskell eXchange?

Our Call for Papers is open and we want to hear your proposals.

Submit a Talk

Haskell eXchange SkillsCast videos

Revisit 2020

View (or review) the 15 talks and sessions from Haskell eXchange 2020 in our library of SkillsCast videos.

Last year's conference featured memorable talks from the likes of Simon Peyton Jones, Mateusz Curylo, and Richard Eisenberg, plus the launch of the Haskell Foundation.

visit the library

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 the 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!


Why You Should Consider Haskell for Your Next Production System

Haskell is a top choice for building production software systems. While Haskell does have a large surface area, with many concepts and syntax that will feel unfamiliar to programmers coming from other languages, it is unrivaled in its combination of developer productivity, code maintainability, software reliability, and performance.

In this talk I will cover some of the defining features of Haskell that make it an excellent, industrial-strength language that is well-suited for building commercial software. You'll learn why we consider it our first choice for new projects, and why you should too.

This session will be part of our free Haskell eXchange: Novice Track on 15 November 2021. If you've heard of Haskell or Functional Programming but aren't sure where to start, our new free "Novice Track" day is the perfect no-pressure way to learn about Haskell.

Christian Charukiewicz

Christian Charukiewicz is a Co-Founder and Partner at Foxhound Systems, a custom software development company with a focus on building fast, secure, and reliable software systems. Prior to founding Foxhound Systems, Christian was the CTO of a Chicago tech startup where he led a team of several engineers and drove the adoption of both Haskell and Elm as languages for building key components of the production system.

Christian has been using functional programming languages professionally since 2016, starting with Elm and then later moving on to Haskell. He is passionate about teaching and has mentored several team members with no prior functional programming experience to become proficient Haskell programmers.

Beyond tech and business, Christian is a cooking enthusiast, avid reader, hobbyist photographer, and enjoys seeking out and brewing unique varieties of coffee.

An Overview of GHC's Constraint Solver

GHC's constraint solver is a notoriously difficult beast to understand, and there aren't many tools available to help us understand the process that GHC goes through while type-checking.

In this talk, we will give an overview of how GHC generates constraints in the process of type-checking, and how it goes about categorising them and solving them. In particular, we will cover:

  1. Wanted and Given constraints,
  2. GHC's classification of predicates,
  3. typeclass instance resolution,
  4. implication constraints and the recursive nature of constraint solving,
  5. how type-checking plugins fit in with this story.

Sam Derbyshire

In 2017, having completed my mathematics PhD in London (in the field of p-adic Hodge theory), I decided to go back to my roots in the French Pyrénées, to begin working on various Haskell projects, with a focus on graphics. I got to know Haskell's type system in the process, and decided to take things a step further this year: I begun working on GHC under the supervision of Richard Eisenberg, with a focus on type-checking plugins and representation polymorphism. Since then, I've started work at Well-Typed, and continue contributing to GHC.

Haskell in the Enterprise: A Report from in the Belly of the Whale

What is it like to bring Haskell to a large enterprise with an established culture? There are success stories for specialized teams, but what about the mainstream? We've been working in the trenches alongside enterprise developers doing Haskell for more than 3 years and have lots to report. This talk explores what it is like to use Haskell in an environment where the understanding and software engineering experience of developers is very mixed. Ranging from the Haskell language and the ecosystem around it, to how it has impacted the systems and people working with it, we will examine the journey from an introduction that took us into stormy seas and the vision of clear skies ahead.

Trevis Elser

Software Engineer
Flipstone Technology Partners, Inc.

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 everything from front end features to join points , Linear Types, and pattern matching — not to mention last year's very special announcement of the Haskell Foundation.

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

Senior Principal Researcher
Microsoft Research, Cambridge

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.

Keynote: Generating Programs from Types

Program synthesis is a promising approach to automating low-level aspects of programming by generating code from high-level declarative specifications. But what form should these specifications take? In this talk I will advocate for using types as input to program synthesis. Types are widely adopted by programmers, they can vary in expressiveness and capture both functional and non-functional properties, and finally, type checking is often fully automatic and compositional, which helps the synthesizer find the right program.

I will describe two type-driven program synthesizers we developed. The first one is Synquid, a synthesizer for recursive functional programs that uses expressive refinement types as a specification mechanism. The second one is Hoogle+, which relies on more mainstream Haskell types and generates code snippets by composing functions from Haskell libraries.

Nadia Polikarpova

Nadia Polikarpova is an assistant professor at UC San Diego, and a member of the Programming Systems group. She received her Ph.D. in Computer Science from ETH Zurich in 2014, and then spent a couple years as a postdoctoral researcher at MIT. Nadia's research interests are in program synthesis, program verification, and type systems. She is a 2020 Sloan Fellow, and a recipient of the 2020 NSF Career Award and the 2020 Intel Rising Stars Award.

Avoiding Quadratic Blow-up During Compilation

There are three main sources of of quadratic blow-up in the ghc core code generated during compilation. First, we cannot refer to or update a field of records without mentioning all the fields of that record, where it should be noted that type class dictionaries are also records. Second, lack of type level sharing results in a lot of duplication when using data types with constructors that reflect some kind of inductive structure. Third, type family reduction results in large type equality coercions.

In this talk we will take a closer look at each of these problems. We will see how the large-records library manages to circumvent all of these problems, but we will also discuss the principles involved in the hope that you can apply those in your own code. Although it would be good to tackle these problems at a more fundamental level, this talk focuses on how to deal with these problems with current-day ghc, not a hypothetical future one.

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.

Get Involved

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

The Haskell eXchange Call for Papers is now open! At Haskell eXchange, sessions can take the form of a talk, a case study, a code-focused demo, or a panel.

We actively encourage submissions on the following topics:
  • Adoption stories and real-world applications of Haskell
  • Haskell and Hardware (e.g. Bluespec, ImplicitCAD, Clash)
  • Optimization and Performance
  • Haskell's intersections and influence with other languages (e.g. C++, Java, F#)
  • Running productive haskell teams in industry
  • Haskell libraries and language extensions
  • Tooling and tool suites
  • Mentoring/Community
  • Security
  • Data and Machine Learning
  • Applications built using Haskell
  • Integration of Haskell on the browser
  • Case studies
Submit a Talk

Are you new to Haskell? You've got a unique point‑of‑view and we want to hear it.

New voices will strengthen the Haskell 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.

Submissions should be for one of the following session types (time for Q&A is included in the session lengths):

  • 45 minute talk
  • 15 minute lightning talk
Proposals must be submitted to Skills Matter by 23:59 UTC on 10 October 2021 in order to be considered by the conference’s programme committee. As this is a virtual event, priority consideration will be given to presentations that promise a socially-interactive format. Case studies are also encouraged, particularly case studies where learnings were gained from failure.

If you have an idea for an interactive format, but have technical concerns, questions or would like guidance, please contact us at conferences@skillsmatter.com. We'll be happy to offer technical support.

Talks will be selected by Skills Matter and the Haskell eXchange Programme Committee on the basis of making the conference a varied and valuable event. Submission is open to anyone. First time speakers and speakers from traditionally under-represented communities are especially encouraged to apply.

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.

Haskell eXchange 2021: Call for Papers

Become a sponsor of Haskell eXchange

Whether you're looking to attract talent to your team or accelerate adoption of your tools and products, sponsoring Haskell eXchange is a terrific way to support and connect with our global community of developers working with functional languages like Haskell.

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.

Rather than a typical ad hoc event sponsorship, we’ll work with you to create bespoke engagement opportunities that benefit both your business and the Skills Matter community. Whether you’re looking to develop one-to-one 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.

To discuss sponsorship opportunities please contact the team:


Hold tight, skillscasts coming soon!


Other Years

Thank you to our sponsors and partners