I understand the advantage of the HashLink target is to provide the choice between a fast-to-compile target (HLVM) and a fast-to-run but slow to compile target (C). So you'd want to use the HL target for quick development iterations and the C target for final release
This is interesting. I wasn't aware of Haxe until now.
So it's a runtime system, plus a collection of packages with a standard interface? I think this sounds like a good idea, and I believe I've heard that someone else is trying the same with Haskell, although I can't find the link right now. It makes a lot of sense to leverage the runtime system of GHC, and basically using it as an "embeddable JVM".
Haxe is actually a programming language[0], which can target JVM, CLR, C++, Flash, JS, and a number of other platforms. It has found some use in game development, but is still fairly niche. This is (I guess) a tech overview of a new platform designed for the purpose of being a Haxe target.
Haxe compiles to many other languages / platforms; so 'compiling' for .NET would actually give you a lot of C# files which you are not to touch, which are then compiled to a binary. Same for the other platforms.
Dart is such a great and modern language, it's a pitty it isn't more popular. I'd love to see Dart as a general purpose scripting language that's easily embeddable, like Lua.