I do not think there is a language with capabilities similar to Spiral. If it existed it would have saved me a lot of time. The closest you could get would would be [Scala LMS](https://scala-lms.github.io/) and the work done on staging such as in [context of Ocaml](http://ocamllabs.io/iocamljs/staging2018.html).
Personally I think macro-style staging in statically typed languages is an atrocity and want nothing to do with it. I kind of like the type driven version as is done in LMS, but compared to Spiral the LMS is less expressive.
A lot of work is being done on macros/partial evaluation/staging in Scala and I assume it will continue to be done as the authors are aware of the need for this in a language - without it a functional language would be dog slow, but my impression is that they are having significant difficulties making it fit with Scala's much more complex type system. One consequence of that is that they seemingly rewrite their macro system every few years. This time they will surely get it right despite being at it for decade(s).
The reason why what Spiral has works so well is because its type system is so simple, so staging can be completely intervowen with how it does type inference.
My view based on seeing the last 50 years of language design is that staging is really difficult to bolt onto an already established design. It tends to degenerate into having two languages - the core language and a scripting language on top of it. C++'s template system is the worst example of this. Another example which actually embraces this dichotomy would be [Terra](http://terralang.org/) which could be described as bolting Lua on top of C. I rather dislike this sort of design.
A language needs to be designed around staging from the ground up and it needs to be accepted that in the absence of magic, the programmer will have to mold his style to fit with the new paradigm.
If a language is to have staging it should be everywhere and at all times much like regular type inference is in F# and other ML styled languages.
I have a suspicion that you might like digging into a language called Felix. Sadly it has sort of disappeared from the internet because felix-lang.org is no longer up. The documentation now exists in a poorer form on readthedocs. The development is alive and kicking on GitHub though.
You can think of it as a codegen for C++ in the lines of what Scala is to Java. The author was involved in Barry Jay's language called Fish, which would also be of interest to you.