User guide
Install the compiler, write a first script, then learn types, operators, @this, and style.
Start at What is CL++?.
User guide
Install the compiler, write a first script, then learn types, operators, @this, and style.
Start at What is CL++?.
Language reference
One page per construct: syntax, parameters, Luau emit, example. Same job as a C++ reference. Open the index.
Specification
Pest EBNF, type table, and how clpp emits Luau. For contributors and host tools.
See the compiler pipeline.
flowchart LR src[“.clpp / .clh / .clp”] —> pest[“Pest grammar”] pest —> check[“Semantic check”] check —> luau[“Luau emit”] luau —> rojo[“Rojo / Cluaupp”] src —> lsp[“Editor pack + LSP”]
CL++ is the language. Cluaupp owns engine headers, Rojo, and project init. There is no bytecode VM and no C++ hosting API — clpp writes Luau files.
| You write | You mean |
|---|---|
player.Name / player.Kick() | property / instance method |
@this / @janitor | receiver and field inside Class::Method |
players.PlayerAdded~>Connect | Janitor connection |
Player player | Instance of class Player |