Haskell eXchange 2021: Novice Track

Monday, 15th November, Online Conference

Veronika Romashkina, Christian Charukiewicz and Jeroen Bransen will be speaking. Starts at 12:00 PM BST (12:00 PM UTC)

This year at Haskell eXchange we have added a special day of free, introductory talks on 15 November.

This "Novice Track" is designed for anyone who may have heard of Haskell, but isn't quite sure where to begin.

Join us for a day of free talks exploring the fundamentals of functional programming, the basics of Haskell, and real-world uses of the language.

If you're an experienced Haskell user and are looking for the Haskell eXchange: Pro Track days, click here.

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!


Type-safe Redis caching at Chordify

Chordify is a popular music education platform, with a Haskell backend that handles hundreds of requests per second. To handle these requests efficiently, Redis is used as an in-memory cache. While Redis support various types of data, its type system is much more limited than Haskell's, so to work together with typed Haskell world and to prevent runtime errors, we have built a layer of Haskell code to deal with the interaction.

In this talk we present our Haskell-Redis layer, which supports strongly typed keys and values, transactions (which coincide with the Applicative class), multiple Redis instances, and locking. What we find interesting about this layer is that our usage of Redis is quite standard, and found in many pieces of imperative software too, but the composability and abstractions in our library make it easy for the programmer to create complex and bug-free interactions, which believe to be a bit less common.

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 talk will be part of our Haskell eXchange: Novice Track on 15 November 2021. Don't miss out

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.

Not My Type

As a software engineer, you use types to represent the domain data that you are going to work with. The way you design the type architecture for the project also sets the direction on how the product evolves and is maintained through time. This makes thinking in types a crucial and important part of any software development process in any typed language. And even if you're using dynamically typed languages, you still try to structure your data and give it some shape.

Haskell's type system is one of the most powerful and developed at the moment. By using Algebraic Data Types (ADT), you can achieve extensibility, preciseness and flexibility at the same time. It's a powerful technique that greatly improves your development productivity. However, it can be challenging to think about data in terms of types. It requires good skills in designing, working and evaluating different solutions on types.

Focusing only on learning how to write functions without work on designing types could lead to a lack of knowledge on how to build some more complicated systems and completely eliminate the "type-safeness" of the project. That's why I want to talk more about types as I see it as the most important, the most difficult part of learning to engineer your code. And it could help to eliminate the whole layer of errors that could be possible due to the "wrong" type design.

In my talk, I'm going to dive into type systems, explain different aspects of Types, ADTs, Typeclasses and give lots of examples of how you can use types in the most beneficial way for you. I am going to walk you through the process of "making illegal states unrepresentable" and demonstrate how small changes to the type architecture of the product could lead to more precise domain representation and therefore more successful products.

Veronika Romashkina

Veronika Romashkina is a Functional Programming enthusiast with several years of experience of working with production Haskell in different fields. She is also a very active Haskell Community participant. She co-founded an OSS organisation – Kowainik, where she develops, maintains, and experiments with different libraries and tools; writes guides, tutorials and posts; mentors Haskell beginners and creates free educational materials.


To discuss sponsorship opportunities please contact the team:


Hold tight, skillscasts coming soon!


Other Years

Thank you to our sponsors and partners