Jack
Jack
[Luau](https://luau-lang.org/) is Roblox's version of Lua with added types.
For the following code in O2 mode, Luau creates this bytecode: ```lua local v v = 10 ``` ``` LOADNIL R0 LOADN R0 10 ``` Here Luau is assigning to...
```lua local Class = {} Class.__index = Class function Class.new(Data: T) return setmetatable({ Data = Data }, Class) end type Class = typeof(Class.new((nil :: any) :: T)) function Class.Update(self: Class,...
After initial syntax parsing is complete, it's often desired to run lints, type checking, variables existing, etc on the AST. To create errors for these, tokens need to have attached...
```luau export type Table = { a: (number) -> (), } local function a(n: number) end local function takes_table(t: Table) end takes_table({ a = a }) -- TypeError: Type pack...
This PR *is* a breaking change, but I doubt anyone uses the syntax. ```lua local function a(): (string, ...number) | boolean -- valid syntax, but weird type local function a():...
Implements table type access modifiers: ```luau type foo = { read bar: number write baz: string, } ```
```luau type foo = { --- foo bar baz field: number, } local a: foo a.field -- this gives the information "foo bar baz" when using the old solver, but...
This code reports a type error for the entirety of the if statement's condition, when the error should only be reported for the right side of the `and`: ```lua local...