ZuriHac 2015 - Discrimination is Wrong: Improving Productivity





The interactive transcript could not be loaded.


Rating is available when the video has been rented.
This feature is not available right now. Please try again later.
Published on Jul 28, 2015

Google Tech Talk
May 30, 2015
("show more" for more information)
Presented by Edward Kmett

Web: https://wiki.haskell.org/ZuriHac2015#...

Slides are available here: https://github.com/meiersi/HaskellerZ...


This talk is a case study in library design in Haskell.

Fritz Henglein has shown through a number of excellent papers how to use "discrimination" to do lots of things in O(n): Sorting many more data types than you'd expect, table joins, etc.

In the process of optimizing this approach and wrapping it up in a form that can be easily consumed, we'll take a lot of detours through the different ways you can think about code when optimizing Haskell.

We'll need some category theory, from a deeper understanding of monoids to Day convolution.
We'll need to consider final and initial encodings.
We'll need to drift down to low level system concerns from building a custom foreign prim to nesting unsafePerformIO within unsafePerformIO.
We'll need properties of laziness from productivity to IVars.
Along the way we'll find and fix a small problem with the initial discrimination paper, which opens the door to streaming results, rather than having to wait until all the input is ready.


When autoplay is enabled, a suggested video will automatically play next.

Up next

to add this to Watch Later

Add to

Loading playlists...