Skip to content

CL++

A C++-inspired language that compiles to Luau. Syntax, semantics, and OOP — not a Roblox SDK.

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 writeYou mean
player.Name / player.Kick()property / instance method
@this / @janitorreceiver and field inside Class::Method
players.PlayerAdded~>ConnectJanitor connection
Player playerInstance of class Player