In a 1988 paper called Algebraic Identities for Program Calculation, Richard Bird wrote: Probably the most useful law about map is the fact that it distributes over functional composition: (map f) . (map g) = map (f . g) Bird’s paper predates Haskell, and instead uses a language called Miranda, but Haskell later adopted very […]