0.85.x✎
The first half of a Luau parser: a lexer.
The first half of a Luau parser: a lexer.
Releases
- 0.85.4A refused wire's types are in bold.New2026-09-23
- 0.85.3A refused cast names both classes.New2026-09-23
- 0.85.2The Players nodes say what they hand back.New2026-09-23
- 0.85.1The second half of a Luau parser: the grammar, types included.New2026-09-23
- 0.85.0The first half of a Luau parser: a lexer.New2026-09-23
Added
- 0.85.1A Luau parser on the lexer: statements, expressions with Luau's own precedence,
::, if-expressions, interpolated strings, attributes, and the whole type language — unions, optionals, table types with indexers, function types, generics and packs,typeof. Every node knows where it is in the source, and a mistake is reported where it is and read past, so one does not hide the next. Nothing uses it yet. - 0.85.0A Luau lexer that every later reader of hand-written code will share: every token Luau has — long brackets at any level, interpolated strings with holes,
0band_numbers,//=and::— with nothing lost, so the tokens give back the source byte for byte. Nothing uses it yet.
Changed
- 0.85.4The types in a refused wire's message are bold: "Humanoid cannot be cast to Model due to incompatible classes."
- 0.85.3A wire refused between two unrelated classes now reads "Humanoid cannot be cast to Model due to incompatible classes."
Fixed
- 0.85.2Local Player and Get Player From Character hand back a
Player, and Local Character aModel, rather than anInstance— so a Get Member on them offers UserId, Character, PrimaryPart and the rest.