The beautiful and by now classic paper *Theorems for Free!* by Philip Wadler introduces —or rather, very richly elaborates— the idea that the knowledge of the type of a function can be used to discover some of its properties. In that paper, the language is that of typed lambda calculi, but in later work he and others rephrased it, in a very natural way, in the language of category theory (lax natural transformations and such things)

The properties of functions deduced from their types in that way can and are used by compilers of functional languages in the optimization process.

**Later.** Of course, all the «monad movement» seen in the context of functional languages is also an example, as well as the later «arrow» thing. S. Doaitse Swierstra self-optimizing parser library, which is an unequivocally categorical thing, is an extraordinary example of the abstractions of category theory put to use to deal with real life algorithmic problems.