A concatenative language is one where every function has a single argument (a stack) and returns a single value (a new stack). This means that a concatenative language is also a pure functional language. Concatenative languages are very easy to implement and optimize, so I am hoping to reuse Unimperative as a target for Heron.
Development is still in its early stages, but an open-source Unimperative library for C++ is available at Unimperative.com. There is a mailing list at the site for anyone interested in helping out with the design and implementation of the language.
Very interesting! So, Heron targets Unimperative. I should think that C++ will be able to do impressive optimization on such a language as Unimperative (given the nature that you describe), so it will be quite interesting to see what comes of this!