Protocols are one of the more important but less publicized features of Elixir.
That's why this lesson focuses on them directly rather than being part of a larger project. Topics covered include: defining protocols with
defdelegate and working with custom structs. We also go into how protocols can give Elixir, a functional language, some of the capabilities that are generally less convenient to implement in non-OO languages.
(Source code available for premium members)