Re-posted from: http://www.youtube.com/watch?v=EpNeNCGmyZE&feature=youtube_gdata
Julia is homoiconic: it represents its own code as a data structure of the language itself. Since code is represented by objects that can be created and manipulated from within the language, it is possible for a program to transform and generate its own code. Metaprogramming (http://docs.julialang.org/en/release-0.1/manual/metaprogramming/) is described in detail in the Julia manual.