O'Reilly logo

Clojure in Action, Second Edition by Amit Rathore and Francis Avila

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 9. Protocols, records, and types

This chapter covers

  • An overview of the expression problem
  • A custom solution to the expression problem
  • Clojure’s solution to the expression problem
  • Working with types and records: deftype, defrecord, and reify

Abstraction is an important tenet of software development because it results in code that’s more maintainable and extensible. Clojure itself is built on abstractions. For instance, most things in Clojure are coded to interfaces rather than being concrete implementations. This allows for reuse of code that expects those interfaces and allows for the seamless addition of more implementations to the mix.

Sooner or later, during your time on most projects, you’ll run into an abstraction-oriented ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required