Nim has a powerful templating system that allows introducing new syntactic elements and semantics, but maybe you are thinking about generating output code in multiple languages (C, C++, JS...)?
No, I meant having one ast but multiple 'skin' languages. Eventually I think they didn't pursue it all the way.