textbook:

composing_programs2.pdf