A fast, small, safe, gradually typed embeddable scripting language derived from Lua
Find a file
Vighnesh 906a00d498 Sync to upstream/release/655
* General
- Fix the benchmark require wrapper function to work in Lua
- Fix memory leak in the new Luau C API test

* New Solver
- Luau: type functions should be able to signal whether or not irreducibility is due to an error
- Do not generate extra expansion constraint for uninvoked user-defined type functions
- Print in a user-defined type function should be reported as an error
instead of logging to stdout
- Many e-graphs bugfixes and performance improvements
- Many general bugfixes and improvements to the new solver as a whole
- Fixed issue with Luau used-defined type functions not having all environments initialized
- Infer types of globals under new type solver

* Fragment Autocomplete
- Miscellaneous fixes to make interop with the old solver better

* Runtime
- Support disabling specific Luau built-in functions from being
fast-called or constant-evaluated
- Added constant folding for vector arithmetic
- Added constant propagation and type inference for Vector3 globals

----------------------------------------------------------
9 contributors:

Co-authored-by: Aaron Weiss <aaronweiss@roblox.com>
Co-authored-by: Andy Friesen <afriesen@roblox.com>
Co-authored-by: Aviral Goel <agoel@roblox.com>
Co-authored-by: Daniel Angel <danielangel@roblox.com>
Co-authored-by: Jonathan Kelaty <jkelaty@roblox.com>
Co-authored-by: Hunter Goldstein <hgoldstein@roblox.com>
Co-authored-by: Varun Saini <vsaini@roblox.com>
Co-authored-by: Vighnesh Vijay <vvijay@roblox.com>
Co-authored-by: Vyacheslav Egorov <vegorov@roblox.com>
2024-12-13 11:20:43 -08:00
Analysis Sync to upstream/release/655 2024-12-13 11:20:43 -08:00
Ast Sync to upstream/release/655 2024-12-13 11:20:43 -08:00
bench Sync to upstream/release/655 2024-12-13 11:20:43 -08:00
CLI Sync to upstream/release/653 2024-11-22 12:37:17 -08:00
CodeGen Sync to upstream/release/654 2024-12-02 15:02:24 -08:00
Common/include/Luau Sync to version/652 2024-11-08 11:01:20 -08:00
Compiler Sync to upstream/release/655 2024-12-13 11:20:43 -08:00
Config Sync to upstream/release/655 2024-12-13 11:20:43 -08:00
EqSat Sync to upstream/release/655 2024-12-13 11:20:43 -08:00
extern Sync to upstream/release/597 2023-09-29 17:22:06 -07:00
fuzz Sync release to upstream/release/641 2024-08-30 12:28:44 -07:00
tests Sync to upstream/release/655 2024-12-13 11:20:43 -08:00
tools Sync to upstream/release/655 2024-12-13 11:20:43 -08:00
VM Sync to upstream/release/655 2024-12-13 11:20:43 -08:00
.clang-format Sync to upstream/release/637 2024-08-01 16:25:12 -07:00
.gitignore Sync to upstream/release/652 2024-11-15 11:37:29 -08:00
CMakeLists.txt Sync to upstream/release/648 2024-10-18 18:08:01 +03:00
CMakePresets.json VM 2023-12-01 18:04:44 -08:00
LICENSE.txt Sync to upstream/release/622 2024-04-19 14:04:30 -07:00
lua_LICENSE.txt Sync to upstream/release/501 (#20) 2021-11-03 10:15:50 -07:00
Makefile Sync to upstream/release/652 2024-11-15 11:37:29 -08:00
README.md Add README.md 2020-06-10 16:09:35 -07:00
Sources.cmake Sync to upstream/release/652 2024-11-15 11:37:29 -08:00

Luau

Luau is a fast, small, safe and gradually typed embeddable scripting language derived from Lua. It is used by Roblox game developers to write game code, as well as by Roblox engineers to implement large parts of the user-facing application code as well as portions of the editor (Roblox Studio) as plugins.

This repository hosts documentation for the language as well as satellite materials.