Interesting approach! I would be interested in performance comparison to Scribunto/LUA. Did you do any comparison so far?
Topic on Extension talk:Foxway
I am also very interested in the performance compared to Lua :-) but I did not do comparisons...
I try to provide a high performance, but the main emphasis is on simplicity and versatility. I have a few ideas with the management of caching that can greatly improve performance, but I have not been thinking seriously about it.
Did you also think about implementing this as extension for Scribuntu? I did not really look into this much, but as I understand, it should be possible to implement support for other languages than LUA with Scribuntu. Could be an interesting approach.
For working this extension does not need framework like Scribunto. Also, such a union reduce the performance and limit the opportunities of this extension, so I do not see the point in the implementation of this.
The main idea of this extension is to use PHP syntax, instead parser functions and like. This is great for me and has a high performance.
But that's not all I want to do. :-)
In the future I plan to add objects that will work like extensions Semantic Forms, Semantic Result Formats, Maps, CategoryTree, etc.
How will it work? something like this:
$bar = new Query(); $bar->getPages(['Namespace'=>'Extension', 'limit'=>10, 'category'='Parser extensions', 'properties'=>'Lasteditor']); echo new Table($bar);
I tried to compare performance Scribunto/LUA vs Foxway. It's like comparing warm vs soft :-)
Lua takes a step faster than Foxway, but Foxway can make big steps. Maybe I'm wrong, but that's what I think about it.
Foxway allows the use of a large number of functions PHP, especially for arrays that run very fast. Next I want to add objects, such as HTMLTable. This will avoid bottlenecks, such as the use of cycles in Foxway. This will allow foxway make giant steps and if lua will not give the same opportunity, will never catch up Foxway.
In general, it all depends on the implementation. This makes it impossible to make a fair test.
I have done a comparative test m:Grants:IEG/Magic_expression#Compared_to_LUA_scripting