Strange Loop

Sept 30 - Oct 2, 2021


Union Station


St. Louis, MO

Register for 2021!

The Mapping Dilemma

Almost all problems of Computer Science can be summarized as being some form of mapping dilemma, whether that means taking the results of proof theory and constructing an expressive type system or taking a graphical user experience and constructing a scalable model-view-controller architecture. Finding solutions to these challenges can be incredibly rewarding, yet as implementations solidify it often turns out we didn’t solve the mapping dilemma at all! The beautiful generality of the abstract idea becomes lost in the brittle specificity of concrete implementations.

In this talk we’ll discuss a library that attempts to solve the mapping dilemma - an optimizing pattern match compiler in the spirit of OCaml and Haskell targeting the Clojure programming language. The library attempts to provide the exact same general abstraction whether the user wishes to pattern match persistent data structures or the individual bits in a byte.

This controversial talk critiques our fundamental choice of tools, programming languages, and software methodologies from the perspective of how well they help us solve mapping dilemmas.

Click to view published talk video

David Nolen

David Nolen

The New York Times

David Nolen is a JavaScript developer at The New York Times. He is the main developer of the Clojure Contrib library core.logic, a Prolog-like logic engine, and match, an optimizing pattern match compiler. He loves hacking at the intersection between object oriented, functional, and logic programming paradigms.