Inside Transducers and a talk from the previous year, Transducers, both by Rich Hickey discuss a new construct that has been added to the latest version of Clojure. Transducers offer a means for doing algorithmic transformations as part of a pipeline and integrate nicely with Clojure’s async coding infrastructure. Yet again Clojure seems to have taken ideas from other languages and made them into something slightly different but very practical.
I’ve been a fan of Reactive Functional Programming ever since I came across the FRAN library in Haskell many years ago, but have never had the chance to use such ideas in a real commercial application. I found this talk by Paul Betts very interesting where he discusses the use of such ideas in implementing the GitHub client. This discussion of the different formulations of FRP is also very good, There is also a talk here on the React framework which uses ideas from functional programming to control mutation of the DOM for browser applications.
Memory management has always been an interest of mine and this talk on Shenandoah is a good introduction to some of the issues of multicore garbage collection and its trade offs. There was also a talk on why deterministic memory management could be useful on the JVM.
This discussion of the merits and problems of type systems was also very pragmatic and led into some of the interesting talks at ICFP on dependent types and the use of O’CAML for cloud programming on top of the Mirage operating system. There were also plenty of interesting talks at the associated Haskell workshop such as a talk on Core, GHC’s intermediate language. Lenses are an idea that also seem to be making their way into loads of functional languages.