filmov
tv
ZuriHac 2015 - Discrimination is Wrong: Improving Productivity
Показать описание
Google Tech Talk
May 30, 2015
("show more" for more information)
Presented by Edward Kmett
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.
May 30, 2015
("show more" for more information)
Presented by Edward Kmett
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.
ZuriHac 2015 - Discrimination is Wrong: Improving Productivity
ZuriHac 2016: Monad Homomorphisms
What's Wrong with Wedding Discrimination? - John Corvino
Edward Kmett - Undecidable Superclasses
Discrimination Is Wrong
Let's Practice Motivation And Love, Not Discrimination And Hate.
Functions and Programs: Why Do Programmers Care about Functions?
Gabriel Claramunt: All About a Fold - λC 2016
Implementing In-memory Caches in Haskell
Daniel Brice Automatic Differentiation in Haskell
BOB 2015 - José Pedro Magalhães - Advanced functional programming in industry
Lenses, Folds and Traversals - Original Audio
16 Lightning: Imperative OO With Cheap Pointers
Edward Kmett - Logic Programming in Haskell 3/4
Introducing FP Complete
Jezen Thomas - Haskell on Rails
Machine Learning and Discrimination PSA
Analyzing the Privacy of Android Apps
Stop Treading Water: Learning to Learn by Edward Kmett
BOB 2016 - Julian Arni - Verdict - Reified refinement
Edward Kmett on Hask
Ollie Charles - In Haskell, less is more
Overcoming Discrimination James 2
Haskell Live-Coding, Session 7, More Machines
Комментарии