(use '[clojure.walk :only [macroexpand-all]])
(defmacro get-lexical-env []
(into {} ; Thanks to amalloy for pointing me to into
(for [s (keys &env)]
[(list 'quote s) s])))
(println (macroexpand-all '(let [a 1] (get-lexical-env))))
KHVzZSAnW2Nsb2p1cmUud2FsayA6b25seSBbbWFjcm9leHBhbmQtYWxsXV0pCgooZGVmbWFjcm8gZ2V0LWxleGljYWwtZW52IFtdCiAgKGludG8ge30gICAgICAgICAgICAgICAgICA7IFRoYW5rcyB0byBhbWFsbG95IGZvciBwb2ludGluZyBtZSB0byBpbnRvCiAgICAoZm9yIFtzIChrZXlzICZlbnYpXQogICAgICBbKGxpc3QgJ3F1b3RlIHMpIHNdKSkpCgoocHJpbnRsbiAobWFjcm9leHBhbmQtYWxsICcobGV0IFthIDFdIChnZXQtbGV4aWNhbC1lbnYpKSkp