Presentation
Shapeless is a remarkable framework. It gives us the power to represent astonishingly rich constraints and generalize code over very broad structural classes, but it isn't magic! The tools with which shapeless is crafted are present in your version of scalac just as much as they are in Miles Sabin's, and learning to take advantage of them unlocks a rich palette of expression otherwise untapped in the language. In this talk, we will recreate some of the major elements of shapeless, learning how to harness a fully armed and operational type system, all while avoiding any hint of macro programming! Particular focus will be given to understanding the general patterns and ideas involved, and not just the end result.
Daniel Spiewak is a software developer based out of Boulder, CO. 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.