Ebook Drawing Programs: The Theory And Practice Of Schematic Functional Programming