A rough survey of compilation, recompilation, and compile-time evaluation