Whether you have a new team member with no Haskell experience who needs to learn the basics, or experienced Haskellers who need to master some advanced topics, we can provide a training program tailored to your needs. We can teach the Haskell language, extensions and common libraries, as well as how to use tools such as the profiler and the testsuite coverage checker.

We can tailor our training courses to your particular goals. For example, you may wish to focus on a particular area, such as domain specific languages (DSLs), parallelism, or design patterns for functional programming.

They have the ability to explain difficult concepts in a clear, easily understandable way. We had a group with various backgrounds and many people commented on how wonderful it was to have an instructor who had both an extremely deep understanding of the material, and also had a unique ability to effortlessly pass from topic to topic while they conveyed their knowledge to everyone. We got what we wanted and more from the Haskell training workshop with Well-Typed and we are already planning the next one.

— Adam Drake, Chief Data Scientist and Director of Engineering at Zanox

See what else our clients have been saying about us

Upcoming event dates

Get news about events and courses via e-mail

As of now, we provide a new low-volume (about one e-mail per month) mailing list where we will send announcements for upcoming training courses, conferences or hackathons that we organize or support.

Subscribe now!

London courses

We’re offering introductory and advanced Haskell courses with Skills Matter in London. In October, we additionally help to organize the Haskell eXchange and the associated Haskell eXchange Hackathon.

The Fast Track course is a two-day compact introduction to Haskell, assuming previous programming experience, but no familiarity with Haskell or functional programming. It covers topics such as defining datatypes and functions, higher-order functions, explicit side effects and monads.

The Guide to Haskell Performance and Optimization course is targeted at Haskellers who are comfortable with the Haskell basics, and want to learn more about how to write scalable and performant Haskell programs. The course covers topics such as data structures, their complexity, how lazy evaluation works, what space leaks are, how to reason about evaluation and performance, debugging and profiling tools, and GHC’s internal core language. In principle, this course can be followed when just having completed Fast Track. But the nature of this course’s contents also mean that several of the topics can be more appreciated if one has written more Haskell code in practice already.

The Guide to the Haskell Type System course is a one-day introduction to various type-system extensions that GHC offers, such as GADTs, rank-n polymorphism, type families and more. It assumes familiarity with Haskell. It does not make use of any other advanced Haskell concepts except for the ones it introduces, so it is in principle possible to follow this course directly after Fast Track. However, as this course focuses very much on the extreme aspects of Haskell’s type system, it should probably only be taken by participants who are enthusiastic about static types and perhaps familiar with a strong static type system from another language.

Haskell eXchange

The Haskell eXchange 2017 will feature two days and three tracks of Haskell talks again. In the weekend after the eXchange, there will be an opportunity to hack on Haskell-related projects again. More information about the weekend event will be announced soon.

Registration for the eXchange is already open.

Open-subscription courses in Europe and the US

We semi-regularly offer courses, about 3-4 times per year in London and about once per year in New York City. We are interested in offering courses at other locations if there is sufficient demand.

If you are interested in our courses, but cannot find the offer you are interested in, feel free to .

On-demand on-site (or remote) courses

We offer a number of predefined courses at fixed prices; however, we are flexible. If you would like to modify, combine, or extend the courses, or get training on a completely different specialized topic, please , and we will give you a quote.

Generally, we prefer to offer courses in person on-site. We think that this leads to the best learning experience for the participants. However, on request, we are also willing to consider remote training. Just .

The base courses are:

We can easily offer modules or courses on additional topics, including but not limited to:

If you are interested in a particular topic that is missing from this list, please in order to find out whether we can provide training on that topic as well.

Course Logistics

In all courses we spend about half of the training time in lecture format, with participants doing exercises in the other half. This ensures sufficient time for the material to sink in. We will be on hand during the exercises to help if people get stuck, and to answer individual questions.

Ideally participants will work on the exercises on their own machines. That way they are already familiar with the environment, and they will still have their work when the training is over. We will give a short list of freely available (open source) software that it would be useful to have installed in advance (e.g. GHC, the Haskell compiler. The other items depend on the details of the course).

There are no formal restrictions on the number of participants per course, although we ask that you advise us of the probable number of participants in advance. Depending on the actual number of participants, we may recommend to use additional lecturers in order to ensure that everyone has sufficient opportunity to ask questions and get help during the exercises.

We offer on-site consulting in combination with on-site courses at a reduced daily rate. Please if you are interested.


The base costs of the predefined courses are listed on the respective pages. To these base costs, travel costs depending on the location of the course venue are added. Additional lecturers also cost extra.

For customised courses, we estimate how much additional preparation time we need to develop the course materials, and will provide you with a quote based on that estimate upon request.

For a quote, or for more information, please with as many details as possible.

Why Well-Typed

Our teachers have more than a decade of experience with Haskell, functional programming, compiler design, and related areas. They have been training people at all experience levels, both in academia and in industry.

The insight they brought about how to think in Haskell was great and something that would be very difficult to get from a book or online.

— Anonymous

See what else our clients have been saying about us