I'm pretty sure that I would finds posts by me about this topic, too.
Its likely that people joining haxe will ask such question one day.
There are many small reasons, eg ocaml supports match x with
A|B -> thing
whereas haxe only supports
A -> thing
B -> thing
If you really try to implement a parser in haxe (even a simple json
parser) you might understand the difference.
(I'm not saying the ocaml implementation is perfect, its quite low
level, too)
But if we talk about such a change (which would benefit the community in
many ways, because you could have IDE in browser only etc) .. some
additional changes should be considered - and then this topic might turn
into "rewrite - and what to include" ..
While haxe is general purpose I'm unsure whether its general purpose
enough for all tasks - eg such as maintaining "big data" in memory etc.
In a perfect world I would have such a language..
And just using boehmgc would eventually not be strong enough, unless you
tell boehmgc about details where pointers may happen and where not.
In big data case it might even make sense to allow multiple memory
management types in the same application..
And then we get into areas like region typing like dcc:
http://disciple.ouroborus.net/
Suddenly you start having a big change and increase in complexity
eventually.
Also the typer could be little stronger in some ways in some corner
cases etc.
module FOO
function bar(){
INJECT_POINT_C
switch (x) {
case "abc":
INJECT_POINT_D
}
}
so that you could write additional modules adding code like this:
my-extension:
FOO:INJECT_POINT_C
trace("my extension is tracing");
FOO:INJECT_POINT_D
case "C":
trace("hit case C")
There are much more unsolved issues such as cross platform mysql support
for nodejs and the other targets and so on (But I don't know how the
perfect solution would look like yet)..
I've started a personal list of features I'd like to have. When I'm done
I'll start thinking about how much effort it would be to implement such.
(Maybe I'll never get to that state).
Those are just some simple thoughts not trying to be complete.
Marc Weber