Haxe as an embeddable scripting language?

375 views
Skip to first unread message

Leff Ivanov

unread,
Nov 28, 2016, 4:29:28 AM11/28/16
to Haxe
Hello! I'm working on a game engine for fun in my spare time. It is written in C and is
quite light-weight. Now I'm thinking about having good embeddable scripting language
in it. There are quite a lot of options, but I'd like to have statically typed language with
a good IDE. Haxe seems to be quite a good option in that case, however I'd like to
know your opinion on this subject. What is the best way to use Haxe as an embeddable
scripting language for my game engine? I can think of several ways:

1) Embed HashLink's C sources in my project and compile Haxe code to HL bytecode.
But it seems that HL target is not production ready and won't be ready for some time
(the site says that the HL target stable release is scheduled to Haxe 3.4).
 
2) Embed Neko C sources in my project and compile Haxe code to Neko bytecode. But
Neko seems to be abandoned by the core Haxe developers and lacks builtin GC.

3) Embed Cppia C++ sources in my project and compile Haxe code to Cppia bytecode.
But Cppia seems to be a new target (maybe unstable as of yet) and having C++ sources
in my C code would result in a lot of overhead (and I'm trying to keep my engine light-weight).

4) Embed Lua C sources into my project and compile Haxe code to Lua. But even hello-world
program in Haxe results in quite a lot of Lua code, and I'd like to be able to compile Haxe to
bytecode (not source code) and embed it.

JLM

unread,
Nov 28, 2016, 5:31:21 AM11/28/16
to Haxe
Leff

Could you not implement a few and just give them a try. HashLink core is pretty stable from nightly with few current label issues, so fine unless your using it's sdl libraries etc... which is probably not ready at least not on mac, but if found it relatively simple to run the HL vm on my mac and I am not brilliant at setting stuff like this up normally and it passes all the unit tests I think. Cppia projects like Acadnme don't seem to have many issues either and it's really quick to deploy an NME project to my android with it.   Neko is not so much abandoned - as pretty stable complete, so it tends to get a bit of extra care just before a major Haxe release, it should be very reliable and if features are missing just cut down NME?  Take a look through labeled issues for each of these tech I think with nightly Haxe most of them should be pretty good, and many issues raised are resolved pretty fast, especially if you try to catch a core dev on irc.

Did you consider
https://github.com/HaxeFoundation/hscript

Best

Justin
Justin

Juraj Kirchheim

unread,
Nov 28, 2016, 5:54:47 AM11/28/16
to haxe...@googlegroups.com
On Mon, Nov 28, 2016 at 10:29 AM, Leff Ivanov <droid...@gmail.com> wrote:
2) Embed Neko C sources in my project and compile Haxe code to Neko bytecode. But
Neko seems to be abandoned by the core Haxe developers and lacks builtin GC.

Both these statements are incorrect. Neko has garbage collection and it is not abandoned - not yet anyway.

Another alternative would be to embed any JavaScript runtime you're happy with, e.g. the V8. It's not exactly the smallest thing on the planet, but it performs well, has strong support behind it, quite decent profiling and debugging tools. And lastly, JavaScript gives you the option to run every compile-to-js language you wish (which today basically means any language).

Best,
Juraj
Reply all
Reply to author
Forward
0 new messages