Live data from Hacker News

Haxe 4.3

haxe.org

31–40 of 51 posts

Re: Haxe 4.3

#31
I’m very curious about Haxe. From using ldtk and looking into haxeui and openfl, it looks like it could be good for multi platform gui apps. I’ve used godot for that purpose before but all the game stuff and limited libraries gets in the way of making it easy for gui development.

And seems like with hashlink I can compile to a single binary instead of the nightmare of electron or Python gui apps packaging

Re: Haxe 4.3

#32

Earlier quoted context omitted.

Could you share some examples?

All games by Shiro games (founded by Nicolas Cannasse, creator of Haxe) : https://en.wikipedia.org/wiki/Shiro_Games

Oh wow. Dune: Spice Wars is also in Haxe: https://www.youtube.com/watch?v=pZcKyqLcjzc

Re: Haxe 4.3

#33
I really love Haxe. A truly multi-paradigm language with good support for GADTs, OOP, structural and nominal types, lambdas, and a lot of practical sugar on top. The macro system and abstract types add enormous flexibility that I miss when going back to C# or Java.

The language is a bit verbose, but I prefer it and generally add type annotations instead of using type inference (unless I’m dealing with a super gnarly generic type).

The language shines in the graphics space since some of the Flash community gravitated to Haxe. I’ve found that it works great as a client/server language similar to a typescript frontend/backend stack. The benefit with Haxe is that the backend isn’t limited to Node, it can run on JVM, bare metal with C++, Openresty with Lua, and anywhere Python runs. It’s pretty easy to implement F# style type providers with the macro system as well.

There is also a C# target, however, there are talks of deprecating. Hopefully we will see a revival with Reflaxe, another way to make new targets, or maybe even a CLR target. https://github.com/RobertBorghese/reflaxe

Lastly, I’m very excited about Ammer the universal FFI for Haxe by Aurel. https://aurel300.github.io/ammer/ My hope is that the community will rally around Ammer and bring in a lot of native libraries to all targets.

Re: Haxe 4.3

#34
post #19

Does anyone have a good non-gaming use case for Haxe? It feels very nice to have multiple compilation targets and the language is great, but I never found an excuse to use it.

The creator of http://haxeui.org/ makes a lot of (closed) projects for the health sector. I personally like to use to make some wxwidgets utilities apps with it. (And being able the html5 js target and android/ios (with openfl) target.

Re: Haxe 4.3

#35

There is also review of new features https://www.elitemastereric.com/Haxe-430/

Last time I checked on master - 2-3 months ago - ?. was implemented, but ?? was still missing. Good to see the implementation finalized. I also saw `overload` for inlines, that's really nice, having to expose functions taking Any and dispatching on dynamic type was one of the pain points in Haxe for me. A shame it's only for inline functions for now. Local static vars is something I didn't see, it looks like static variables in functions in C, right? I'm not quite sure how useful that would be. I guess the scopes are not shared, so `static var instance` in one method is different than `instance` declared the same way in another function. Still, the properties with getters also work. Better errors are always welcome, custom defines... I know I wanted these at some point, but can't recall right now what for. Stdlib got a bit more of concurrency support with Condition and Semaphore - good, my target doesn't do threading, but has coroutines, so having more options to control concurrency is nice.

All in all, very nice release with null-related operators being the feature I missed the most. I'm not sure about default type parameters, and numerical suffixes don't matter on my platform (everything is a double on runtime), but numerical separators are nice. Steadily, Haxe gets easier to use and safer. Macros are becoming more ergonomic, too, which is great, as they're essential to effective Haxe programming.

Re: Haxe 4.3

#36
post #19

Does anyone have a good non-gaming use case for Haxe? It feels very nice to have multiple compilation targets and the language is great, but I never found an excuse to use it.

same here, it's a forever top of mind but never to be practically used. The thought of having one language but can dish out frontend in JS, backend in python, jobs in C has been a dream of mine.

Re: Haxe 4.3

#37

I looked at Haxe but have trouble figuring out what real benefits it would have over something like Godot at this point.

Being able to cross-transpile (cross-compilation basically) to other languages is a huge selling point. You can, in one language, output libraries that are compatible with: JavaScript, Flash, Neko, PHP, C++, Cppia, Java, JVM, C#, Python, Lua, HashLink For example, wanna deploy a validation library that checks something and have it available in a ton of language directly? Using Haxe, you can get this very cheap.

In practice, this is hard. The problem is that you need to either have all the functionality you use written in Haxe - which is rarely if ever possible - or you have externs to equivalent libraries on all platforms. The libraries produced will also need to be interfaced from outside somehow, and for some of the targets you'll have to write additional wrappers for your lib. It's really hard to pull off when targeting more than 2-3 targets.

Another commenter linked to Ammer[1], a universal FFI framework (apparently, it's my first time seeing it) - it might be just the thing needed to make multiplatform Haxe libraries way easier to write and distribute. I'd welcome that :)

[1] https://aurel300.github.io/ammer/

Re: Haxe 4.3

#38
post #9
post #6

Earlier quoted context omitted.

Good post. That safe navigation operator is very cool and something I wish you could do in JS.

Not sure if I'm missing some sarcasm but JavaScript has had the equivalent Optional chaining operator for years now https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

Everyone likes to bag on JS without being willing to learn.

Re: Haxe 4.3

#40
post #5

Earlier quoted context omitted.

Haxe has been, and continues to be, used to ship commercially successful games.

Could you share some examples?

Friday Night Funkin' got pretty huge for a while there. Open source, too (not sure about the license) https://github.com/FunkinCrew/Funkin
Post reply on HN