A modern, type-safe programming language that compiles to WebAssembly. Build fast, safe, and portable applications with an elegant syntax.
Clean Language combines the safety of Rust with the readability of Python, compiling to high-performance WebAssembly.
Catch errors at compile time with a powerful type system that supports inference, generics, and strict null safety.
Compile directly to WebAssembly for near-native performance on any platform — browsers, servers, and edge computing.
Write readable, maintainable code with indentation-based blocks, no semicolons, and intuitive control flow.
Built-in memory safety without garbage collection. The compiler prevents memory leaks and dangling references.
First-class async support for concurrent programming. Handle I/O operations efficiently with clean, composable async code.
Rich IDE support with VS Code extension, comprehensive error messages, and integrated package management.
Write less code that does more. Clean Language's expressive syntax lets you focus on what matters.
functions:
string greet(string name)
return "Hello, " + name + "!"
integer add(integer a, integer b)
return a + b
start:
string message = greet("World")
_print(message)
integer result = add(5, 3)
_print("5 + 3 = " + _itos(result))
Hello, World!
5 + 3 = 8
The first language designed for humans and AI to write together. Built-in compiler access, intent keywords, and zero-config plugins.
Built-in intent and spec keywords give AI context about what your code does and why it exists.
functions:
number calculateDiscount(number price, number pct)
intent "Calculate percentage discount"
spec "specs/pricing.spec.cln"
return price * (pct / 100)
MCP server lets AI tools compile, check, and validate code as they write it. Errors caught before you even see them.
$ cln mcp-server
// AI tools can:
// check types in real-time
// compile to WebAssembly
// lint and format code
// scaffold full projects
Plugin auto-detection means AI-generated code just works. Put a file in the right folder and the compiler knows what to do.
/api/ → HTTP routes
/data/ → Database models
/auth/ → Authentication
/ui/ → UI components
Get up and running with Clean Language in three simple steps.
Install Clean Language with a single command using cleen, our package manager.
Create .cln files with our elegant, indentation-based syntax. No semicolons needed.
Compile to WebAssembly and run on any platform — browsers, servers, or edge computing.
Connect with developers building the future of type-safe, WebAssembly-first programming.
Comprehensive guides, API references, and tutorials to master Clean Language.
Read The DocsJoin developers worldwide. Get help, share projects, and discuss ideas.
Join Discord