Skip to content

Commit bbe76ab

Browse files
committed
Expand upon the introduction using some points from Pluto's readme
1 parent 68af54e commit bbe76ab

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

docs/Introduction.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,17 @@ 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 that facilitates
7+
- **general-purpose programming** thanks to a [greatly enhanced standard library](<category/runtime-environment>),
8+
- **accelerated development** through the addition of 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>), [type hinting](<New Features/Type Hinting>), [enums](<New Features/Enumerations>), etc.
9+
10+
while being remarkably compatible with Lua:
11+
- Pluto is largely compatible with Lua 5.4 source code, but there is an imperfection:
12+
- 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](<Compatibility#compatibility-mode>).
13+
- Pluto is also compatible with Lua 5.4 bytecode. Pluto can execute Lua bytecode, and most Pluto features generate bytecode compatible with Lua.
14+
- There's a small subset of Pluto features which do not generate Lua 5.4 bytecode. This is documented alongside those features, so scripters can vouch to avoid using them when bytecode compatibility is desired.
15+
- Pluto has been dropped into large communities, and did not break any existing scripts (with compatibility mode enabled then gradually disabled).
16+
- Pluto 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.
717

818
## What does Pluto aspire to be?
919
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)