Switch to speaker view

Or use left cursor

Switch to presentation view

Or use right cursor
Supported by
ThoughtWorks
We are a software company & a community of passionate, purpose-led individuals.
20150205130847_poster

You need to update your browser

These modern browsers have better performance and support the latest web technologies.

Sorry, Eventer doesn't work quite right on your device.

Right now, Eventer can be viewed on your desktop computer and any Apple mobile device with iOS 7 or later. We're hard at work on supporting other platforms.

00:00:00 / 00:00:00
Progress-handle

Functionally Oblivious and Succinct

  • Edward Kmett
  • 00:33:53

This talk provides a whirlwind tour of some new types of functional data structures and their applications.

Cache-oblivious algorithms let us perform optimally for all cache levels in your system at the same time by optimizing for one cache for which we don’t know the parameters. While Okasaki’s “Purely Functional Data Structures” taught us how to reason about asymptotic performance in a lazy language like Haskell, reasoning about cache-oblivious algorithms requires some new techniques.

Succinct data structures let us work directly on near-optimally compressed data representations without decompressing.

How can derive new functional data structures from these techniques? Applications include just diverse areas as speeding up something like Haskell’s venerable Data.Map, handling “big data” on disk without tuning for hardware, and parsing JSON faster in less memory.

  • Edward spent most of his adult life trying to build reusable code in imperative languages before realizing he was building castles in sand. He converted to Haskell in 2006 while searching for better building materials. He now chairs the Haskell core libraries committee, collaborates with hundreds of other developers on over 150 projects on github, builds tools for quants and traders using the purely-functional programming-language Ermine for S&P Capital IQ, and is obsessed with finding better tools so that seven years from now he won’t be stuck solving the same problems with the same tools he was stuck using seven years ago.

Having trouble viewing the talks? Please let us know.

Or, help us improve by telling us what you think.