Chapter 3. Patterns of Composition
Function composition is a fundamental part of functional programming. This chapter is concerned with exploring the composition characteristics of the fundamental type-classes:
Monad. We will see that
Functor embeds into
Applicative Functor, which embeds into
Arrow, which embeds into
Monad. After exploring
Monad composition, we'll also look into
Monad transformers (a technique for composing different types of
Monad). As we move through the successive types, from the most general (
Functor) to the most powerful (
Monad), we will see how they differ in the ways they can be composed.
Note that this chapter does not have the last word on composition patterns, for example, in the ...