0.7.0
·
2016 commits
to main
since this release
- Added table destructuring (
local '{' NAME [= FIELD][, ...] '}' '=' TABLE) - Added array destructuring (
local '[' NAME[, ...] ']' '=' TABLE) - Added
pluto_use <* | version | token> [= false]to toggle non-compatible keywords - Added
pluto_use let [= false]to toggle 'let' alias for 'local' - Added ++ statement
- Also supports
++t.prop
- Also supports
- Added constructor promotion
- Added compile-time conditionals
- Improved class expression & statement
- Now supports property declaration without value
- Now supports type hints (currently without warnings)
- Now supports access modifiers (currently without warnings or errors)
- Can now optionally use 'begin' before body
- Improved string interpolation to support any expression, not just variable names
- Improved type hints to support alternatives, e.g.
string|int - Named arguments may now be used in conjunction with positional arguments
- Improved 'new' expression to support direct member access into the table it created, e.g.
print(new Human("John").name) - 'new' may now also be used as a statement
- Fixed loading of precompiled code from files with non-Latin path on Windows
- Fixed behavior of 'in' expression when used on a temporary table
Out-of-the-box Compatibility:
- 'parent' may now be overwritten via local or parameter name
- All reserved identifiers can now be used with shorthand table syntax and goto
Standard library:
- Added coroutine.xresume
For integrators:
- Added
PLUTO_USE_LET
More detailed documentation can be found here.