reClojure Logo

Stratified Design: A Lisp Tradition

Eric Normand

The Keynote

How do we organize code to maximize expressivity? What makes some libraries incredibly powerful while others feel weak? One answer is stratified design, wherein we build layers of meaning on top of preexisting layers. In this talk, we will examine the ideas of Abelson and Sussman about stratified design, why it works, and how to apply it in your own code.


Eric Normand is an experienced functional programmer, trainer, speaker, and writer on all things FP. He started programming in Lisp in 2000. He produces Clojure training material at He also consults with companies to use functional programming to better serve business objectives. His writing, speaking, training, and consulting can be found at His book on functional programming, Grokking Simplicity, will be published soon by Manning.