07:31Discrimination is Wrong: Improving Productivity • Edward Kmett • YOW! 2015
From the creator
This presentation was recorded at YOW! 2015. #GOTOcon #YOW https://yowcon.com Edward Kmett - Fellow & VP of Software Engineering at Groq Inc. @ekmett RESOURCES https://twitter.com/kmett https://github.com/ekmett https://www.linkedin.com/in/ekmett http://comonad.com 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. [...] RECOMMENDED BOOKS Saša Jurić • Elixir in Action • https://amzn.to/2RZh5eN Tim McNamara • Rust in Action • https://amzn.to/3ux2R9u Ulisses Almeida • Learn Functional Programming with Elixir • https://amzn.to/389grn6 Neal F
Published 2024-09-15 · Watch on YouTube ↗
Availability and playback restrictions are controlled by the original channel.





