Compatibility
How compatible with Lua is Pluto?
Pluto is 99.9% compatible with most Lua source code. However, it's imperfect. Due to that, Pluto implements several compatibility macros.
Where are the incompatibilities?
Pluto's adds the following reserved tokens:
switch
continue
enum
new
class
parent
export
Which means you can't use them as variable names or for function calls. They can still be used with short-hand table indexes and goto labels though, because Pluto removes the restriction from them.
Compatibility Mode
Compatibility mode is a compilation flag that'll prefix pluto_
before any of the new keywords. This can be individually toggled for all of the new keywords. Furthermore, when you decide to disable compatibility mode, the pluto_
syntax is still valid. This project has high regard for smooth migration paths.
How to use compatibility mode
The macros for this are well-documented, and found inside your luaconf.h
file.