Chapter 10. Generic algorithms and iterators

This chapter covers

  • Using map(), filter(), and reduce()beyond arrays
  • Using a set of common algorithms to solve a wide range of problems
  • Ensuring that a generic type supports a required contract
  • Enabling various algorithms with different iterator categories
  • Implementing adaptive algorithms

This chapter is all about generic algorithms—reusable algorithms that work on various data types and data structures.

We looked at one version each of map(), filter(), and reduce() in chapter 5, when we discussed higher-order functions. Those functions operated on arrays, but as we saw in the previous chapters, iterators provide a nice abstraction over any data structure. We’ll start by implementing generic versions ...

Get Programming with Types 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.