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.
What you will be able to do
Section titled “What you will be able to do”By the end of this course you will:
- Install
clppand the editor pack. - Write
.clh/.clp/.clppfiles and know which Roblox instance they become. - Use
.for the default,:for types and safe calls,::for static/manual Connect,~>for Janitor. - Build services with
struct,guard,match,observable, andsignal. - Drive UI with Fusion and Vide in CL++.
- Read the language reference the same way you would read cplusplus.com/reference — every utility has syntax, parameters, emit, and an example.
A tiny program
Section titled “A tiny program”#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").
Course map
Section titled “Course map”| Part | You learn |
|---|---|
| Start here | Install, hello world, mental model, style |
| The language | Types, operators, functions, OOP, Roblox |
| Modern syntax | Signals, guard, match, async, attributes |
| UI & advanced | Fusion, Vide, advanced types, production patterns |
| Reference | Language reference (every utility), cheat sheet, unsupported list |
| Specification | Compiler pipeline, EBNF, type table, emit |
Next: Install the compiler.