Haxe is quite an interesting language. It is designed from the ground up as a source-to-source transpiler (Wikipedia). It is a fascinating idea, but is it any good? Is it even necessary? Is it worth learning and using? When would you want to use it and for what?
I have played with Haxe quite a bit.
However, before I stumbled upon it years ago, when it was still on version 3.x, I had been working for years on my own project that did the same type of thing in a slightly different context.
I called that project the "Wizard". I have many hours and many years invested in it. One part of the Wizard is based on templates. But not the old-school text based templates. Instead it's a class hierarchy that generates code using C# code. Each class adds elements from the parent class thereby creating hierarchical templates embedded in C# code.
Then there is another part of the Wizard that translates from one language to another which I call the XLang (as it is XML based). All languages share a root Abstract Syntax Tree (AST) and certain languages add their own custom AST nodes. The AST gets converted to XML nodes which makes it easier to document and study. What I end up with is a translation of one AST node tree to another.
The project as a whole has yet to see the light of day. I have quite a bit of it working but it's very complex (and more than likely a much larger project than one person can handle) but through trial and error I have laid down a structure that is scale-able and certainly capable of being better than Haxe and then some.
I just need to decide what to do w/ it... first of all, do I continue working on it? Secondly do I keep it private with just me working on it or do I open source it and hopefully get help from others?
If I do open source it, it would have to be under a dual license: the AGPL v3 or a commercial license. As I have spent many hours and years on it, I would like to monetize it. And even though that does not seem to be a popular license it's the only way I see to possibly make any money using open-source.
I will blog more about Haxe and my project Wizard down the road.