Clojure has some nice reflection capabilities - a lot of information is reified at runtime. It's possible to query docstrings, metadata vars, inspect namespaces etc. ClojureScript on the other hand currently provides much fewer opportunities since the compilation and runtime environment are stratified. However the metadata does exist, it's just locked away in the compiler/analyzer. It's possible to hook into the compiler/analyzer by writing a compiler macro however this is less then ideal since macros are a horrible interface - no higher order usage, etc.

Perhaps the JS runtime environment could create a connection back to the compilation/runtime environment (think browser REPL). If this connection exists a special reflect namespace could be used to query the compilation environment? Then much of the Clojure-quality reflection capability can be restored.