Chapter 7. Functional programming

This chapter covers

  • Functions in all their forms
  • Closures
  • Thinking recursively
  • A* pathfinding

At the core of functional programming is a formal system of computation known as the lambda calculus (Pierce 2002). Clojure functions, in adherence with the lambda calculus, are first class—they can be both passed as arguments and returned as results from other functions. This book isn’t about the lambda calculus. Instead, we’ll explore Clojure’s particular flavor of functional programming. We’ll cover a vast array of useful topics, including function composition, partial evaluation, recursion, lexical closures, pure functions, function constraints, higher-order functions, and first-class functions. We’ll use ...

Get The Joy of Clojure, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.