Typed Self-Applicable Meta-Programming
Institution: | UCLA |
---|---|
Department: | |
Year: | 2017 |
Keywords: | Computer science; Futamura Projections; Meta-circularity; Meta-programming; Partial Evaluation; Self-interpreters; Static type checking |
Posted: | 02/01/2018 |
Record ID: | 2176484 |
Full text PDF: | http://www.escholarship.org/uc/item/6rn6t4n7 |
Self-applicable meta-programming has its roots in the early days ofcomputer science.Two early examples were published in 1936: the universal Turingmachine, and a self-interpreter for the -calculus.These were major advances in computability theory, butself-application has a long history of practical uses as well.Many languages have self-interpreters or self-hosting compilers. Others support self-applicable meta-programming as a general-purposetechnique that enables elegant solutions to many problems.Until now, these techniques have been incompatible with static typechecking, which has many benefits of its own.In this thesis I present techniques for practical self-applicablemeta-programming for statically typed languages.