Skip to content

Commit e785120

Browse files
Expand upon the introduction using some points from Pluto's readme (#65)
Co-authored-by: well-in-that-case <98286404+well-in-that-case@users.noreply.github.com>
1 parent 68af54e commit e785120

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

docs/Introduction.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,19 @@ sidebar_position: 0
33
---
44

55
# What is Pluto?
6-
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.
6+
Pluto is a superset of Lua 5.4 designed to assist with general-purpose programming & facilitate cleaner, more streamlined development via:
7+
- A [greatly enhanced standard library](<category/runtime-environment>) and [pre-existing packages](<Packages#noteworthy-packages-for-pluto>).
8+
- More than a dozen highly-desired syntaxes such as [switch statements](<New Features/Switch Blocks>), [compound operators](<New Operators#compound-operators>), [string interpolation](<New Features/String Interpolation>), [classes](<New Features/Object-Oriented Programming#class-statement>), [ternary expressions](<New Features/Ternary Expressions>), [enums](<New Features/Enumerations>), etc.
9+
- A myriad of other improvements, such as [generalized iteration](<Qol Improvements/Generalized Iteraction>), [compiler warnings](<New Features/Compiler Warnings>), and a [preprocessor](<New Features/Preprocessing>).
10+
11+
Despite the immense additions, Pluto remains highly compatible with Lua:
12+
- (Mostly) compatible with Lua 5.4 source code.
13+
- 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](<Compatibility#compatibility-mode>) to eliminate this concern. Most Lua 5.4 source code will execute flawlessly on Pluto.
14+
- Reads and writes Lua 5.4 bytecode meaning it's forwards- and backwards-compatible.
15+
- Only some Pluto features generate backwards-incompatible bytecode, but they will say so in their documentation.
16+
- 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.
17+
18+
With Compatibility Mode, Pluto has been dropped into large communities and did not break any existing scripts.
719

820
## What does Pluto aspire to be?
921
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.

0 commit comments

Comments
 (0)