Luwu

A fun, fast, and highly expressive embeddable, object-oriented, scripting and programming language forked from Luau 0.730 and influenced by Kotlin, Rust, Ruby, Python, and TypeScript.

const animals = { "Nyla", "Hina", "Ferris", "Taz", "Nanuk", "Mr. Purrsalot" }
for _, animal in animals when is_cat(animal) do
    print(animal)
end

Luwu is open source and community made; if you're interested in contributing, please check us out on GitHub and consider joining our Discord server hina, nyla, & ferris where most language discussion takes place.

This site and language isn't complete yet; we'll be expanding this page to be full docs and specs and will keep updating it as things change.

Learn

Coming from Luau? Start with Luwu for Luau Users, or pick a topic:

Control Flow

if statements, truthiness, loops and scope.

Tables

Arrays, maps and records, and how tables are shared.

Functions

Arguments, multiple returns, closures and method calls.

Classes and Traits

A little object oriented programming couldn't harm a cat.

Type Checking

Static analysis with first-class support for VSCode and Zed.

Expressive Control Flow

if const, when chains, do expressions and or return.

Table Comprehensions

Build a filtered or mapped table in one expression.

Destructuring

Pull fields out of tables, objects and userdata at once.

Compatibility

What runs unchanged from Luau and where the two differ.

Userdata (Extern Types)

Host objects from C, C++ or Rust, described by extern types.