This stuff just isn't on our radar I'm afraid. On top of that, string lookups for every variable would be incredibly slow.... you need direct variable access to make it work.
With YYC it might be possible, as you have C++ code - you might be able to hack it in.....
Exposing a single script_execute function equivalent to DLLs would have been sufficient to make DLL<->GML interfacing much easier.
While I can think of some impressing workarounds involving heavy misuse of asynchronous event functionality, I do believe that such things are best left unseen for sake of everyone's sanity.
Edit: Just tested to find that it queues up events rather than calling immediately. Maybe for the better.
There was somebody on the forums who made a primitive stack based virtual machine which runs in GML. Do you think this idea could be expanded on? I mean, you write your scripts in external files, and once you start the game they all get compiled to the VM's format, and then executed when needed (the VM could read the instructions from an array or list as if from actual memory in an actual computer). I know I'm talking about a VM inside a VM at this point, but it could be optimized to an extent, and it's the one solution which doesn't require YYG's intervention. Bottom line, you could do it while in testing/debugging phase of the game, and write it in GameMaker itself once you're happy with the code. Or you compile with YYC so you don't have two nested VM's. Do you think it could be viable?
It is viable, but requires substantial investments.
I'm working on pretty much what you've described for the past several months (
gif thread), and it had grown to be the largest GameMaker module that I had ever seen (6.5K lines of code in source / 7.5K LOC with macros expanded), despite still not having complete coverage of desired features to date.
Running in GML, the speed with YYC is only about that of GM8, but I was able to partially make up for that by extending the scripting language to do things that are not normally viable in actual (compiled) code (e.g.
delayed asynchronous execution).