Also for staged compilation you mention scala and julia. People usually mean things like macros in this context.. or maybe for languages that have S-expressions some kind of AST transformation. I'm not a language theorist at all, but I haven't seen any compiled language that simply let you run the same language at compile time.