Edward Kmett

Share

Software Engineering Lead at S&P Capital IQ, Chair of the Haskell Core Libraries Committee
 comonad.com
 @kmett

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.

YOW! Lambda Jam 2017 Sydney

Transients

INVITED TALK

Haskell often lends other programming languages ideas, but what can Haskell learn from other functional programming languages?

In this talk I’ll adapt Clojure’s transients to Haskell, and fix them up along the way with the help of Haskell’s type system features.

Transients are immutable data structures that can be made mutable in O(1), and frozen again in O(1). Unlike with Haskell’s arrays, which support superficially similar freeze and thaw operations, this doesn’t ‘destroy’ the frozen structure.

I’ll show the naive translation, a not-so-dirty trick to make it fast, how to layer a more Haskell-like mutable API on top, then borrow some more improvements from recent work on similar structures in Scala and Clojure.

Sydney Day 2 – TUE 09 MAY 2017
Transients
Edward Kmett
17:00 - 18:00

Sydney Day 2 – TUE 09 MAY 2017

Sydney Day 2 – TUE 09 MAY 2017
Transients
Edward Kmett
17:00 - 18:00

Sydney Day 2 – TUE 09 MAY 2017

No sessions available!

See full Program