ID:2157778
 
Applies to:DM Language
Status: Open

Issue hasn't been assigned a status value.
Right now, DLLs can't do anything other than simply do data on strings. While DLLs are powerful, there is a lot of room for improvements and it would help to make the general problem of BYOND not being fast enough for some people's needs go away.

Here's what I propose: the C++ headers that BYOND uses internally are exposed, make it so DLL calls can get passed ANY data, and be able to return any data. This would of course be possible due to the headers.

Then, expose a bunch of stuff like then ability to read & write variables, call procs, etc... That DLLs currently cannot do. Make a bunch of helpers and expose them so DLLs can use them, etc...

Having access to more low level functions would make it possible to implement stuff like scripting engines like Lua and do it efficiently, the possibilities are literally endless.
I've already proven that you can reliably implement Lua with what you're given and Lummox seems to be against giving more power to the C/++ developer for whatever reason.
On the contrary, I actually would like to make some stuff more accessible.
In order for things to be more optimal we need more control over the VM and the VM's state; you shouldn't need to expose much functionality to make this possible.