Part 3. Advanced techniques

This part tackles the complex topics of state management, asynchrony, and concurrency.

Chapter 11 discusses the benefits of lazy evaluation and how lazy computations can be composed. This is a general pattern for which you’ll see several practical uses.

Chapter 12 shows how you can implement stateful programs without state mutation, and how stateful computations can also be composed.

Chapter 13 deals with asynchronous computations, and with how asynchrony can be combined with other effects discussed in previous parts of the book. This leads to the wider concern of combining several monadic effects—still an open topic of research in FP.

Asynchronous streams are even more general than asynchronous values, and they’re ...

Get Functional Programming in C# 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.