mirror of
https://github.com/luau-lang/luau.git
synced 2024-11-15 14:25:44 +08:00
A fast, small, safe, gradually typed embeddable scripting language derived from Lua
fb67f5760c
(this analysis should have been done before the RFC but the thought never crossed my mind) There's 63K assertions in all luarocks repositories combined. Out of this, around ~600 assertions would be broken as a result of this change. This is ~1% which is pretty uncomfortable (I was hoping for a couple of odd unit tests) - as such this RFC is going to get closed. We will maintain the current behavior of assert and try to adapt type checker to be reasonably useful instead. The common thread between all of these cases (many of them target custom APIs although some target core APIs like string.match) is that assert is used together with a function that either returns nil (for errors), or multiple arguments. Under these conditions multi-arg assert is useful. A couple examples: ``` out_r, out_w = assert(unix.pipe()) local header, body = assert(data:match "(.-\r\n)\r\n(.*)") local z85_secret_key, z85_public_key = assert(zmq.curve_keypair()) local _, r = assert(coroutine.resume(co, msg)) ``` |
||
---|---|---|
docs | ||
rfcs | ||
.gitignore | ||
README.md |
Luau
Luau is a fast, small, safe, 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, and can be viewed at https://roblox.github.io/luau/