Strange Loop

Next: September 12-14 2019

/

Stifel Theatre

/

St. Louis, MO

Functional Vectors, Maps, and Sets in Julia

Julia is positioned as a fast dynamic language for technical computing. Perhaps less obvious is that it's just a hair's breadth away from being a practical functional language, featuring first-class generic functions, expressive types, and multiple dispatch. What it's missing is a set of functional data structures, but we're going to change that.

This talk will build up an implementation of a functional and persistent vector, hash map, and set. I'll show how the three can be built on top of the same fundamental data structure, and how a few simple optimizations can lead to big performance wins. There will be code.

Zach Allaun

Hacker School

Zach dropped out of college and into Hacker School, where he works as a facilitator hacking on whatever he fancies. Lately that's been Julia, though in the past it's been Clojure or Python.