Remote Interactive Course on "Haskell Performance & Optimisation"

Event Information

Share this event

Date and Time

Refund Policy

Refund Policy

Contact the organiser to request a refund.

Eventbrite's fee is nonrefundable.

Event description
Two half days of online lectures, discussions and live coding, delivered by Andres Löh for up to 8 participants.

About this Event

A course for developers who have made their first steps in Haskell and written a few programs, and who now want to take a look beyond the surface of Haskell and really get the details of how things are implemented. This 8-hour course will be split over two mornings UK time (09:00 to 13:00 BST) on 22nd and 23rd October 2019. It will be delivered using the Google Meet video conferencing platform.

It is part of the beauty of Haskell that you typically do not have to think too hard about performance. You can write code in a concise and declarative way, and still have it perform fast.

Sometimes, however, it pays off to know more about how programs run. Choosing the right data structure can make the difference between a program that runs instantaneous or one that runs forever. Making programs either too strict or too lazy can cause space leaks, which may not only result in too much memory being used (which can be very bad for long-running processes), but also result in more work for the garbage collector and make everything slower.

In this course, we’ll take a look at how Haskell (and GHC) implement things internally. We’ll discuss the internal representation of data on the heap, what exactly lazy evaluation means and how it works, how the compiler translates Haskell code to a target language via several internal representations, what you can and cannot reasonably expect the compiler to do, and how you can tweak the optimizer behaviour by using compiler pragmas such as inlining annotations.

This course is likely to be enjoyed more by participants who already have gained some practical experience in writing Haskell code, but no particular experience of advanced language features is required.

The course includes the following topics:

  • Lambda calculus
  • Evaluation strategies (call-by-value, call-by-need / lazy evaluation).
  • Strictness analysis and space leaks.
  • Performance-oriented debugging.
  • GHC's Core language.
  • Inlining and other optimisations.

About the teacher

Andres Löh has more than 20 years of Haskell experience, and more than 15 years of teaching experience. He has taught many courses on all things Haskell, including a type-level programming course at the Summer School on Generic and Effectful Programming. He helped establish the Utrecht Summer School on Applied Functional Programming and IOHK’s course on Haskell and Cryptocurrencies. He is a co-author or contributor to various packages that involve type-level programming, including generics-sop and servant. He has a PhD from Utrecht University.

Ticket Price

Tickets are GBP 390 including UK VAT (GBP 325 excluding VAT). If you are purchasing a ticket on behalf of a VAT-registered EU business, please enter your VAT number in the registration form to pay VAT in your country via the reverse charge mechanism.

Cancellation Policy

If you are unable to attend after purchasing a ticket, please request a refund through Eventbrite; we will consider requests on a case-by-case basis and respond within 5 working days. The Eventbrite fee included in the ticket price is nonrefundable, unless the course is cancelled entirely.

There is no minimum number of participants for the course. If unforeseen circumstances prevent Andres Löh from being able to deliver the course, we will endeavour to run the course with another experienced Haskell teacher from Well-Typed. In the unlikely event that we have to cancel the course, you will receive a refund or a replacement course at a different time.

If you have any queries or require further information please email info@well-typed.com.

Share with friends

Date and Time

Refund Policy

Contact the organiser to request a refund.

Eventbrite's fee is nonrefundable.

Save This Event

Event Saved