Partial evaluation and automatic program generation - Jones, Neil D. (Prentice-Hall international series in computer science, 1999)