Skip to content

Haskell Utrecht Meetup #2

Photo of Manuel Chakravarty
Hosted By
Manuel C. and 2 others
Haskell Utrecht Meetup #2

Details

After the success of the first Haskell Utrecht meetup in March, we couldn't wait for the second one! We finally have got a place and a date to treat you to another two Haskell talks, followed by drinks and snacks.

This time around, we will meet at the Utrecht office of Chordify who have most kindly volunteered to host this second edition — thank you, Chordify! Chordify is in the Creative Valley building at Utrecht CS, Stationsplein 32. This is the entrance door. There will be someone to let you in, and for those that arrive later, we will make sure to put up a sign with a phone number you can call.

We hope to see you there!

Tentative agenda:

  • 19:00: Doors open
  • 19:30: Welcome
  • 19:45: Edsko de Vries (Well-Typed): "Avoiding quadratic blow up during compilation"
  • 20:30 Break
  • 20:45: Wouter Swierstra (UU): "Efficient heterogeneous collections"
  • 21:30 Drinks & snacks
  • 22:00 Finish

== 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.

== Efficient heterogeneous collections ==

Heterogeneous lists (or HLists for short) have emerged as a popular datastructure in Haskell for storing different types of data in a type safe manner. Unfortunately, the lookup operation on lists is linear — which may form a bottleneck for applications that need to process heterogeneous data efficiently. In this talk, I will sketch how to get the best of both worlds, and provide an implementation for efficient heterogeneous collections.

COVID-19 safety measures

Please do not attend if you have got any symptoms that may point to a COVID-19 infection. If in doubt, please test yourself before attending.
The event host is instituting the above safety measures for this event. Meetup is not responsible for ensuring, and will not independently verify, that these precautions are followed.
Photo of Haskell Utrecht group
Haskell Utrecht
See more events
Stationsplein 32
Stationsplein 32 · Utrecht, UT