Contents Introduction Execution Interpretation Compilation Partial evaluation Applications The Futamura projections Conclusion Introduction I’m fascinated by programming, and by metaprogramming in particular. When Ruby programmers talk about metaprogramming they usually mean programs that write programs, because Ruby has various features — like BasicObject#instance_eval, Module#define_method and B