You can use the _VERSION global variable available in both PUC Lua and LuaRT, to differentiate the running interpreter.
You can also use the specific LuaRT interpreter (it lies in bin\std\luart.exe) that provide more PUC Lua compatibility :
- It includes the "os" and "io" modules
- Objects and instances have all a type of "table"
For the OOP part, you can use super calls in LuaRT easily that way :
-- call constructor parent
OOP in LuaRT is rather simple but effective for use as part of the framework. It's quite possible to improve it. What kind of functionnality are you expecting ? Can you tell us more about this "method handlers" ?