ZuriHac 2015 - Discrimination is Wrong: Improving Productivity

Subscribers:
348,000
Published on ● Video Link: https://www.youtube.com/watch?v=cB8DapKQz-I



Duration: 1:31:51
7,467 views
85


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

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

Slides are available here: https://github.com/meiersi/HaskellerZ/blob/master/meetups/20150530-ZuriHac2015_Edward_Kmett-Discrimination_is_Wrong_Improving_Productivity/Discrimination%20-%20Zurihac.pdf

ABSTRACT

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.







Tags:
google tech talk
haskell
Programming Language (Software Genre)
ZuriHac 2015