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 Ford • Functional Thinking • https://amzn.to/3DdP35B Petricek & Skeet • Real-World Functional Programming • https://amzn.to/38diF4M Venkat Subramaniam • Functional Programming in Java • https://amzn.to/2WlOXIt Cristian Salcescu • Functional Programming in JavaScript • https://amzn.to/3y75jBS https://twitter.com/GOTOcon https://www.linkedin.com/company/goto- https://www.facebook.com/GOTOConferences #FunctionalProgramming #SoftwareEngineering #Programming #Tech #SoftwareDevelopment #SoftwareTechnology #FP #Haskell #Graal #Truffle #EdwardKmett #YOWcon CHANNEL MEMBERSHIP BONUS Join this channel to get early access to videos & other perks: https://www.youtube.com/channel/UCs_tLP3AiwYKwdUHpltJPuA/join Looking for a unique learning experience? Attend the next GOTO conference near you! Get your ticket at https://gotopia.tech Sign up for updates and specials at https://gotopia.tech/newsletter SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily. https://www.youtube.com/user/GotoConferences/?sub_confirmation=1
Get notified about new features and conference additions.