Hi! Seems like a nice fit indeed
A note on Haxe -> C# .NET though: this target may be harder than the other ones atm because of some restrictions:
static extension not working with overloads, so when the one picked by haxe compiler isn’t the one you need, you have to call the static method manually or do some abstract magic; nothing really bad but can get annoying when porting C# code.
sometimes static functions work with type parameters that do not appear in either the arguments or the return type. In haxe, you cannot pass type parameters in your function call (as in
var a = myMethod<Int>();) but it’s usually fine as long as the compiler can infer it (
static function myMethod<T>():T with
var a:Int = myMethod() will work just fine for example). When it just can’t (
static function myMethod<T>():Void), you can’t pass
T. This one is trickier to work around, but there’s always a way.
I use Haxe -> C# .NET (core) in production, but other haxe targets are really easier to work with. So if you start with some tests with Haxe -> C# .NET and find it annoying/hard do not assume it will be the same with other targets
On a positive note, C# dlls can be parsed by Haxe so you have “free externs” o/