Language
Each construct beside the Luau it emits, and the rules the compiler holds.
UpdatedSafe accessNine operators cover the nil checks that Roblox code writes by hand.ModulesPaths pass through unchanged.Async and FuturesThe body runs on task.spawn under xpcall, and the Future memoizes the result.Enums and matchA payload enum is a tagged table with a constructor per variant and a union type the analyzer can narrow.Conditional bindingsif local, elseif local, while local, and the expression form bind a value and test it in one step.Structs and traitsAn Alloy struct is a plain table that vanilla Luau can use.Interfaces and typesinterface is sugar over type with extends.SugarA ternary, an object initializer, array destructuring, a method reference, and delete with runtime dispatch.Extensionsimpl Vector3 or impl string adds methods to a type you do not own.MacrosIntrinsics see source text and position.AttributesBuilt-in attributes drive codegen.RemotesOne declaration names the parameters, their wire widths, and the side that fires or asks.MarkupAn .alx file is luaux markup with Alloy inside the holes.TestsA @test function runs under alloy test.Parallel LuauA file named worker.server.actor.aly builds into an Actor.Strict by defaultEvery
.aly file checks in Luau strict mode unless the project says otherwise.Exhaustive matchA match with no default must cover every value.Wire typesA remote carries data across the network.JSON and TOML dataA source imports a .json or .toml file as a table.