Skip to content

0.7.0

Choose a tag to compare

@well-in-that-case well-in-that-case released this 18 Jul 21:19
· 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
  • 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.