or you could just use what other languages have and has been tested extensively. We were talking about the problem of maintainability but now we are discussing about adding new feature that other languages already have. I'm not sure to follow but let me reiterate: PLs are difficult topics, they look easy but they are difficult.metatables could be implemented as archive scripts
No it's not that. It's about passing or returning functions from/to functions. You can "emulate" it in that way but still it's not the same.https://en.wikipedia.org/wiki/First-class_function seems like would be same as "function" running strings as commands althought more fine revined would maybe need extra parameters?
MWScript doesn't look like a language that could support this easily.https://en.wikipedia.org/wiki/Information_hiding that would need it's own block naturally at least on mwscript
Associative arrays are not lists! Access element in associative arrays is constant time while in a list is always linear if you don't know the position in the list.https://en.wikipedia.org/wiki/Associative_array that looks like list but more general approach. extra array functions and such would need to be script based with only those
Probably you don't want for-loops in a scripting language where each script run once per-frame. Loops are naturally expressed already. The main reason I see to use loops is to go through a collection and do something with each element. You can do the same with an index that you increment every frame.for loops:
"while condition do" would be handy
"repeat" both are basically same as while or xwhile which would have feature stopping at call before running whole script and determining how many times even if condition doesn't fullfil. ( details... )
"for i = first,last,delta do ;delta may be negative, allowing the for loop to count down or up"
that could be implemented as is
Anyway, I see that a lot of people want to play with MWScript and that's ok but what about supporting both? That looks like a good idea to me.