Skip to content

What is CL++?

CL++ is a programming language. You write C++-inspired source; the clpp compiler emits Luau for Roblox. Code samples on this site use the language id clpp — not cpp.

It is not a full C++ compiler and not a Roblox SDK. Cluaupp owns engine headers, Rojo, and project init. This site teaches the language: syntax, types, OOP, and every construct the compiler understands.

By the end of this course you will:

  1. Install clpp and the editor pack.
  2. Write .clh / .clp / .clpp files and know which Roblox instance they become.
  3. Use . for the default, : for types and safe calls, :: for static/manual Connect, ~> for Janitor.
  4. Build services with struct, guard, match, observable, and signal.
  5. Drive UI with Fusion and Vide in CL++.
  6. Read the language reference the same way you would read cplusplus.com/reference — every utility has syntax, parameters, emit, and an example.
#include <clpp/roblox.clh>
void init() {
Players players = GetService<Players>();
post("online: " .: players.GetPlayers());
}

void init() is the script entry point. There is no int main(). post is print. GetService<Players>() is game:GetService("Players").

PartYou learn
Start hereInstall, hello world, mental model, style
The languageTypes, operators, functions, OOP, Roblox
Modern syntaxSignals, guard, match, async, attributes
UI & advancedFusion, Vide, advanced types, production patterns
ReferenceLanguage reference (every utility), cheat sheet, unsupported list
SpecificationCompiler pipeline, EBNF, type table, emit

Next: Install the compiler.