A fast, small, safe, gradually typed embeddable scripting language derived from Lua
Go to file
Hunter Goldstein c799a548e4 Sync to version/652
> What's new?

* Fragment Autocomplete: a new API allows for type checking a small
  fragment of code against an existing file, significantly speeding up
  autocomplete performance in large files.

> New Solver

* E-Graphs have landed: this is an ongoing approach to make the new type solver
  simplify types in a more consistent and principled manner, based on
  similar work (e.g.: https://egraphs-good.github.io/).
* Adds support for exported / local user type functions.
* Fixes a set of bugs in which the new solver will fail to complete
  inference for simple expressions with just literals and operators.

> General

* It is now an explicit runtime error to `require` a path with a ".lua" or
  ".luau" extension, and the error message will suggest removing the extension.
  ```
  require("path/to/mymodule.lua")
  ```
* Fixes a bug in which whether two `Symbol`s are equal depends on
  whether the new solver is enabled.
2024-11-08 11:01:20 -08:00
Analysis Sync to version/652 2024-11-08 11:01:20 -08:00
Ast Sync to version/652 2024-11-08 11:01:20 -08:00
bench Sync to upstream/release/650 2024-11-01 09:47:10 -07:00
CLI Sync to version/652 2024-11-08 11:01:20 -08:00
CodeGen Sync to upstream/release/650 2024-11-01 09:47:10 -07:00
Common/include/Luau Sync to version/652 2024-11-08 11:01:20 -08:00
Compiler Sync to upstream/release/650 2024-11-01 09:47:10 -07:00
Config Sync to version/652 2024-11-08 11:01:20 -08:00
EqSat Sync to version/652 2024-11-08 11:01:20 -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 version/652 2024-11-08 11:01:20 -08:00
tools Sync to upstream/release/647 2024-10-11 09:38:27 -07:00
VM Sync to version/652 2024-11-08 11:01:20 -08:00
.clang-format Sync to upstream/release/637 2024-08-01 16:25:12 -07:00
.gitignore Sync to upstream/release/644 2024-09-20 17:14:29 +03: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/648 2024-10-18 18:08:01 +03:00
README.md Add README.md 2020-06-10 16:09:35 -07:00
Sources.cmake Sync to version/652 2024-11-08 11:01:20 -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.