Betting your company on Lisp: 5 years with Clojure in production by Adam Tornhill

August 26, 2021

Adam Tornhill shares his experience of building a large-scale system in functional programming using Clojure, a dialect of Lisp, and discusses the benefits of immutability, shared setup methods, and closures in the language. He highlights how Clojure’s functional programming paradigm and community made it a worthwhile choice for his company, despite challenges such as lazy evaluation and performance issues. Adam also shares his personal journey to starting a company, crediting his experience with Clojure and the concepts from his book “Your Code as a Crime Scene” for helping him realize his desire to start a company and build upon the skills and knowledge of his network of colleagues.

Betting your company on Lisp: 5 years with Clojure in production: A comprehensive overview

Adam Tornhill provides an insightful journey into building large-scale systems using functional programming with Clojure, a Lisp dialect. He begins by recounting his transition to functional programming, inspired by Paul Graham’s essay “Beating the Averages” which led him to explore Lisp and its variants. Adam shares his experiences with functional programming, particularly the benefits observed while working with Erlang, before delving into the advantages of immutable state and the cognitive benefits it offers to developers. Throughout the presentation, Adam emphasizes Clojure’s strengths, including its immutability and expressive features, such as closures and lazy evaluation. He discusses the concept of code health and its importance in maintaining large codebases, leveraging behavioral code analysis to visualize and address knowledge gaps within development teams. Adam also explores architectural patterns in functional programming, addressing challenges such as lazy evaluation and performance issues. Despite these hurdles, Adam concludes by affirming Clojure’s value and its role in empowering him to pursue entrepreneurial endeavors, leveraging his expertise in software design and code analysis.

 

Additional resources

Check out more from the MeetUp Func Prog Sweden. Func Prog Sweden is the community for anyone interested in functional programming. At the MeetUps the community explore different functional languages like Erlang, Elixir, Haskell, Scala, Clojure, OCaml, F# and more.