I made a list and ordered them by how much I would be interested in using them (which combines my curiosity with current/expected adoption).
My short-list for metaprogrammable ones are:
Clojure
Elixir
Nim
Crystal
Rust (would be higher if I did more low-level work)
Pony
I left most other functional ones off my list because that's an exploration in itself for another time. I was surprised that I put Clojure and Elixir first given my preference for static types. Of all the kitchen-sink features that Nim has, I can't accept camelCased == under_scored names otherwise it could have been first. Ruby is notably absent as I use it and am looking for something better/different.For future adoption, I think interoperability is a key factor, whether it's with C or in a VM runtime (e.g. JVM, CLR, BEAM, v8).
Which metaprogrammable language do you use or are most interested in using? How compact are your programs (i.e. how extensive do you metaprogram)?