This chapter covers
This chapter deals with building higher-level data structures. In any complex system, there will be a need for abstractions such as Money, Date, Employee, and OrderItem, all textbook examples of higher-level abstractions that usually aren’t directly supported by the language and are instead written on top of built-in types.
In Elixir, such abstractions are implemented with pure, stateless modules. In this chapter, you’ll learn how to create and work with your own data abstractions.
In a typical OO language, the basic abstraction building blocks are classes and objects. For example, there may be a String ...