© 2018 Strange Loop
This talk will cover the theory and implementation of 6 unique functional data structures in Scala. We'll start out with the concept of functional persistence and then dive right into actual data structures. Each data structure will be motivated and built up by the associated theory and ideas. All of these will be illustrated (with requisite colorful diagrams) and implemented with the necessary trappings to be a first-class Scala Collection. Finally, we'll look at some of the real-world constraints imposed by hardware architecture and the JVM itself, touching on how these constraints affect data structure design in ways that the theory doesn't show.
Daniel Spiewak is a software developer based out of Wisconsin, USA. Over the years, he has worked with Java, Scala, Ruby, C/C++, ML, Clojure and several experimental languages. He currently spends most of his free time researching parser theory and methodologies, particularly areas where the field intersects with functional language design, domain-specific languages and type theory.