From 2b22827113aaa1a1c6def48dc9f7f65caab2f1c4 Mon Sep 17 00:00:00 2001 From: "ajeffrey@roblox.com" Date: Mon, 29 Mar 2021 16:38:55 -0500 Subject: [PATCH] Fleshed out Luau Recap for March 2021 --- .../2021-03-29-luau-recap-march-2021.md | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/docs/_posts/2021-03-29-luau-recap-march-2021.md b/docs/_posts/2021-03-29-luau-recap-march-2021.md index 65b26998..8dd66f82 100644 --- a/docs/_posts/2021-03-29-luau-recap-march-2021.md +++ b/docs/_posts/2021-03-29-luau-recap-march-2021.md @@ -9,16 +9,39 @@ Luau is our new language that you can read more about at [https://roblox.github. ## Typed variadics +[TODO] + ## Generic functions +[TODO] + ## Typechecking improvements +* Check bodies of methods whose `self` has type `any` +* More precise types for `debug.*` methods +* Better typechecking for `Instance:IsA`. + ## Performance improvements -## Debugger improvements +* Optimized `coroutine.resume` + (a 10% speed-up in benchmarks) +* New implementation of string mutations, which mutates in place rather than copying if there's + only one copy of the string buffer (a 20% speedup) +* New `FASTCALL` specializations, optimizing common cases for methods such as `table.insert` + (a 40% speedup) +* Improved `table.move` performance (often 3x faster!) ## Library changes +* Added the `debug.info` function which allows retrieving information about stack frames or functions; similarly to `debug.getinfo` from Lua, this accepts an options string that must consist of characters `slnfa`; unlike Lua that returns a table, the function returns all requested values one after another to improve performance. + ## New logo +Luau now has a shiny new logo! + +!["New logo!"]({{ site.url }}{{ site.baseurl }}/assets/images/luau.png) + ## Coming soon... + +* Better treatment of cyclic requires +* [Anything else?] \ No newline at end of file