PlutoLang/Pluto

A superset of Lua 5.5 with a focus on general-purpose programming.

C++

694

3,233 commits

updated Oct 16, 2026

See the code

README

Pluto Logo

Pluto is a unique dialect of Lua with a focus on general-purpose programming.

Why should you choose Pluto?

  • Accelerated Development.

    • Greatly enhanced standard library.
    • Several new syntaxes, such as switch statements, compound operators, ternary expressions, etc.
  • Focused On Lua Compatibility.

    • Pluto is largely compatible with Lua 5.5 source code, but there is an imperfection:
      • Pluto implements new keywords, which can cause conflicts with otherwise normal identifiers such as 'switch', or 'class'. The parser tries to identify what is meant but if that doesn't work, you can use Compatibility Mode.
    • Pluto is also compatible with Lua 5.5 bytecode. Pluto can execute Lua bytecode, and most Pluto features generate bytecode compatible with Lua.
      • There's a small subset of Pluto features which do not generate Lua 5.5 bytecode. This is documented alongside those features, so scripters can vouch to avoid using them when bytecode compatibility is desired.
    • Pluto has been dropped into large communities, and did not break any existing scripts (with compatibility mode enabled then gradually disabled).
    • Pluto actively rebases with Lua's main repository. We are not a time-frozen dialect. Initially starting on Lua 5.4, Pluto has successfully performed a gradual rebase onto Lua 5.5.

Documentation

A detailed documentation of getting started with, tooling for, and the additions and improvements of Pluto can be found on our website, which is open-source as well.

Getting Started

You can use Pluto right in your browser in the interactive playground, or find pre-built binaries on our releases page. Read more...

Tooling

dialect
language
lua
pluto
plutolang
programming-language
superset

PlutoLang/Pluto

A superset of Lua 5.5 with a focus on general-purpose programming.

C++

694

3,233 commits

updated Oct 16, 2026

See the code

README

Pluto Logo

Pluto is a unique dialect of Lua with a focus on general-purpose programming.

Why should you choose Pluto?

  • Accelerated Development.

    • Greatly enhanced standard library.
    • Several new syntaxes, such as switch statements, compound operators, ternary expressions, etc.
  • Focused On Lua Compatibility.

    • Pluto is largely compatible with Lua 5.5 source code, but there is an imperfection:
      • Pluto implements new keywords, which can cause conflicts with otherwise normal identifiers such as 'switch', or 'class'. The parser tries to identify what is meant but if that doesn't work, you can use Compatibility Mode.
    • Pluto is also compatible with Lua 5.5 bytecode. Pluto can execute Lua bytecode, and most Pluto features generate bytecode compatible with Lua.
      • There's a small subset of Pluto features which do not generate Lua 5.5 bytecode. This is documented alongside those features, so scripters can vouch to avoid using them when bytecode compatibility is desired.
    • Pluto has been dropped into large communities, and did not break any existing scripts (with compatibility mode enabled then gradually disabled).
    • Pluto actively rebases with Lua's main repository. We are not a time-frozen dialect. Initially starting on Lua 5.4, Pluto has successfully performed a gradual rebase onto Lua 5.5.

Documentation

A detailed documentation of getting started with, tooling for, and the additions and improvements of Pluto can be found on our website, which is open-source as well.

Getting Started

You can use Pluto right in your browser in the interactive playground, or find pre-built binaries on our releases page. Read more...

Tooling

dialect
language
lua
pluto
plutolang
programming-language
superset

Significant stargazers

(top 24 of 33)

Rob Loach

569 followers · starred Feb 2024

Neal Gompa (ニール・ゴンパ)

470 followers · starred Jul 2025

Peter Lemenkov

282 followers · starred Oct 2024

Sean Callan

547 followers · starred Jul 2025