diff --git a/docs/Introduction.md b/docs/Introduction.md index e7c83a6c..7d12f645 100644 --- a/docs/Introduction.md +++ b/docs/Introduction.md @@ -3,7 +3,19 @@ sidebar_position: 0 --- # What is Pluto? -Pluto is a superset of Lua 5.4 with a focus on general-purpose programming. While being remarkably compatible with Lua 5.4 source-code & bytecode, it enhances the standard library & adds more than a dozen highly-desired syntaxes such as switch statements, compound operators, classes, class inheritance, string interpolation, type hinting, enums, and so on. +Pluto is a superset of Lua 5.4 designed to assist with general-purpose programming & facilitate cleaner, more streamlined development via: +- A [greatly enhanced standard library]() and [pre-existing packages](). +- More than a dozen highly-desired syntaxes such as [switch statements](), [compound operators](), [string interpolation](), [classes](), [ternary expressions](), [enums](), etc. +- A myriad of other improvements, such as [generalized iteration](), [compiler warnings](), and a [preprocessor](). + +Despite the immense additions, Pluto remains highly compatible with Lua: +- (Mostly) compatible with Lua 5.4 source code. + - Our only breakage is the addition of new keywords, which causes conflicts when those keywords are used as identifiers. However, Pluto leverages parser heuristics and — in cases where parser heuristics fail — [Compatibility Mode]() to eliminate this concern. Most Lua 5.4 source code will execute flawlessly on Pluto. +- Reads and writes Lua 5.4 bytecode meaning it's forwards- and backwards-compatible. + - Only some Pluto features generate backwards-incompatible bytecode, but they will say so in their documentation. +- Actively rebases with Lua's main repository. We are not a time-frozen dialect. When Lua 5.5 releases, we intend on updating to that. + +With Compatibility Mode, Pluto has been dropped into large communities and did not break any existing scripts. ## What does Pluto aspire to be? Pluto aspires to be a version of Lua with a larger feature-set, that is all. Pluto is not a Lua-killer, an attempted successor, or any of that. Many people (rightly so) love Lua precisely because of the design philosophy. And fundamentally, Pluto is a major deviation from Lua's design philosophy. Some may prefer this, some may not. \ No newline at end of file