Jeremy Gibbons: Functional Programming for Domain-Specific Languages. CEFP 2013: 1-28