full-moon icon indicating copy to clipboard operation
full-moon copied to clipboard

Add initial support for Pluto

Open Sainan opened this issue 7 months ago • 1 comments

This adds --features pluto, relevant methods on LuaVersion, and implements parsing for many of the syntax additions:

I would like for this to be a complete PR, but the language has far too many syntax additions for that. Features that are not implemented here yet include:

  • Destructuring (local { a } = { a = 1 } and local [ a ] = { 1 })
  • Ternary expressions (a ? b : c)
  • Type hinting (roughly a subset of Luau's from what I can tell)
  • Lambda syntax (|a| -> tostring(a) and || -> do print("hi") end)
  • Pluto's string interpolation (e.g. $"1 + 2 = {1 + 2}")

Sainan avatar May 30 '25 08:05 Sainan

I think at this point the PR is good for review so I at least know if this is the right direction and if I understood the project structure correctly. I'd be happy to keep making subsequent PRs to move progress forwards on this.

Sainan avatar Jun 01 '25 10:06 Sainan