No description
  • C++ 68.1%
  • Lua 25.1%
  • C 5.7%
  • Makefile 0.6%
  • PHP 0.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-07 09:13:06 +02:00
.github Update actions 2026-07-22 10:15:18 +02:00
scripts Add -lreadline to MacOS build scripts 2026-08-04 08:28:37 +02:00
src Bump version 2026-08-07 09:13:06 +02:00
testes FFI: Correctly handle floats in callbacks 2026-08-07 08:42:14 +02:00
.gitattributes Exclude vendored code from language stats 2023-04-06 14:24:23 -04:00
.gitignore Add *.so to .gitignore 2023-12-20 18:44:27 -05:00
CONTRIBUTING.md Rename AGENTS.md to CONTRIBUTING.md 2025-09-29 09:21:48 -04:00
Dockerfile Add Docker stuff 2025-07-31 23:31:28 +02:00
LICENSE Update copyright years 2025-01-22 18:18:35 +01:00
Makefile 366c85564874d560b3608349f752e9e490f9002d 2026-06-09 11:50:13 +02:00
operators.pluto Repurpose '**' as an integer exponentiation operator 2025-09-08 14:21:36 +02:00
Pluto.sln Add non-LTO 'static lib' configuration in VS project 2026-01-30 02:47:28 -05:00
Pluto.vcxproj Update Soup to fix FFI float arguments not being passed correctly 2026-08-04 15:17:06 +02:00
Pluto.vcxproj.filters Update Soup to fix FFI float arguments not being passed correctly 2026-08-04 15:17:06 +02:00
README.md Remove long-unmaintained language server from readme 2026-06-09 15:49:22 +02:00

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