Drawing programs : the theory and practice of schematic functional programming - Addis, T. R. (Springer, 2010)