Functional Programming in C++ - Cukic (IEEE, 2003)