Macros, Homoiconicity, S-expressions, Functional Programming