Description: MULTI-STAGE PROGRAMMING
*****
Multi-stage programs can generate other programs at runtime, compile them, and execute them. Such programs can be significantly faster than single-stage ones. This course introduces multi-stage languages, their applications, theory, and implementation techniques. Coursework includes reading assignments, discussions, and various kinds of programming exercises using one such language (MetaOCaml).