Clojure in the Large

Track: Alternative Languages
Skill Level: Intermediate
Room: Room 104
Time Slot: Tue 2/25, 1:00 PM
Tags: functional languages , clojure , alternative languages
Presentation Link
Abstract

Having an expressive programming language like Clojure comes with a price: it’s not always clear how programs should be structured. Without classes in the traditional OOP sense, what are the fundamental building blocks of an application? How do we divide up our source files? Where do different kinds of state and behavior “belong”? These problems become more acute as programs grow larger and more complex.

This talk assumes some basic knowledge of Clojure, and will present patterns for building large Clojure applications out of modular components. Topics include:

  • Protocols and records
  • Dependency injection
  • Managing startup / shutdown of components
  • When (not) to use dynamic binding
  • Interactive development workflow
  • Testing and mocking
Stuart Sierra

Stuart Sierra is a programmer, actor, musician, and writer. He lives in New York City and works for Cognitect. He is the co-author, with Luke VanderHart, of ClojureScript: Up and Running (O’Reilly) and Practical Clojure (Apress).