Luau Goes Open Source!

Oh ok thank you for clarifying.

1 Like

Luau is fully backwards compatible with code written for Lua. The Luau compiler should always execute Lua code as it is expected Lua would.

Roblox Studio doesnā€™t run Lua. It runs Luau. Code written in standard Lua 5.1 will run without issue. Hope that helps explain!

It hasnā€™t been used for quite a bit, itā€™s LuaU instead. The keywords, syntax, etc. is almost exactly that of Lua.

LuaU serves as a ā€œbetter Lua.ā€

What language do you use?

Luau

Whatā€™s that?

Its a derivative of lua.

Whatā€™s that?

3 Likes

I donā€™t know where people got the impression itā€™s called LuaU but it super isnā€™t and never has been. Itā€™s Luau. As in, the Hawaiian word.

3 Likes

this is so cool!
i wish i can contribute but

the "but"

image

I canā€™t wait for that too, what do you think people could make using this? (ideas)

1 Like

Is it possible that the task library gets added to the open source version? At least task.spawn for resuming threads with no issues like with errors not showing up when you use coroutine.resume?

I understand how task.wait, task.defer, task.delay, etc (anything dependant on RunService stuff) couldnā€™t be added, but task.spawn is something I use quite a lot, and something that I could see being possible to add since coroutine.wrap does the same thing if youā€™re using functions.

Itā€™s nice that it also still has the same meaning and is pronounced the same in Portuguese (Brazil) too :upside_down_face:

Thanks however came up with that name.

2 Likes

Wow, Iā€™m so happy to be getting into scripting at this time!

Open Sourcing is such an achievement because it allows for so many favorable possibilities!

Iā€™m not too familiar with IDEs, but I wonder if a new IDE can be made similar to IntelliJ (a Java Devs favorite :P) because thatā€™d be awesome!

Canā€™t wait to see all the amazing things which come from this.

amazing work! weā€™re so proud community lovely support can feature luau to open source tbh for making studio for lua skilled about that in C++ programmer can any making contributions for support source, thank you for looking how can system on working luau, thatā€™s it how for in C++ programmer support creations from feature

1 Like

Im wondering if someone could make a open-source Luau implementation of io or FileSystemService

Or I could stop being lazy and learn C++ already so I can do if myself.

We discussed io internally recently. Unsure what to think about this yet, itā€™s a pain not to have that in the CLI but it also breaks sandboxing for CLI-based script execution. Maybe we should do this and require explicit --io argument or consent similar to what deno does these daysā€¦ weā€™ll see. It shouldnā€™t be too difficult to hook up otherwise.

4 Likes

Hurray! Question: How does multithreading (as in utilizing multiple CPU cores, not coroutines) work in Luau? Didnā€™t @zeuxcg mention something about this in RDC?

Excited to use this for my non Roblox projects.

1 Like

This is the truth. Actually, open source is a major means of reducing the possibility of exploitation. Using an entire community of dedicated contributors amongst many different fields is a great way to quickly spot and eliminate vulnerabilities.

2 Likes

No you canā€™t, thatā€™s a Roblox engine thing, not a Luau thing.

And thereā€™s no RunService, or any other service, instances donā€™t exist.

However, it does mean that if youā€™re building / integrating with an engine, that if you in this case have events like RenderStepped, then you can move resources made by the community such as BoatTween to use your engineā€™s code in a much easier matter, without having to rewriting as much code.

2 Likes

Iā€™m awfully late to the party but this caught my eye.
This could impact exploits because they can now see the structures without having to sift through a decompiler dump of the engine for their goodies (LuaUc-api? Play on the original luac name.) such as in original lua 5.1, luac_getglobal; the list goes on of course.

But overall not much of an impact Iā€™d say. Though this may end up leading to exploit developers optimizing their compilers/bytecodeā€¦ :frowning:

1 Like

You run a separate virtual machine for each thread. Synchronization between the virtual machines is to be handled by the host application embedding Luau.

Exploit developers no need to have special compilers/bytecode, they can just include Luau as a git submodule and instantly have execution with extremely fast response to Roblox updates.

I canā€™t wait to see a version of studio that allow the development of an offline game!
Iā€™m so excited

That would require open sourcing the entire roblox engine, which is not the case here. This is only for the luau engine which is what all the scripts and plug-ins run on.

1 Like