Remix.run Logo
Lute: A Standalone Runtime for Luau(lute.luau.org)
58 points by vrn-sn 3 days ago | 9 comments
bjconlan 39 minutes ago | parent | next [-]

Ah this reminds me of my favorite stack which I never got to actually work with; luvit.io (libuv with luajit; both hot items at the time).

I hope this becomes a thing, typing in lua might make it easier to scale for teams (which I think is always an issue with dynamic language)

I really should check up on what Mr Caswell is up to. He was quite inspiring with both his diy home improvements as well as activity in the development space.

vrn-sn 3 days ago | parent | prev | next [-]

Lute is a general-purpose, Node.js-style runtime for Luau (https://luau.org/) that just hit 1.0.0. It supports filesystem operations, networking, process management, cryptography, and a proper module system, backed by libraries like libuv, curl, and libsodium.

The part we're most excited about: we've exposed APIs for manipulating Luau's syntax tree, so you can write code transformations directly against the language using Lute. This is especially useful if you're working with a large Luau codebase and want powerful tooling.

The team's happy to answer questions about the implementation or design decisions!

Heliodex 4 hours ago | parent | prev | next [-]

Congrats on the 1.0.0 release! Being able to write custom tooling in Luau using the Luau parsing APIs will be awesome. Hopefully it makes updating tools to use new Luau features easier – at the moment I have a workflow with a custom-built parser which I'd have to modify to support, for example, the new `const` declarations; having easy access (from scripts) to regularly-updated parser APIs is a big deal for a language that's moving as quickly as Luau is.

hmokiguess 5 hours ago | parent | prev | next [-]

How does it compare to Lune[1]? I use Lune for scripts today

[1] https://github.com/lune-org/lune

parenwielder an hour ago | parent [-]

In the abstract, there’s more of a focus on being general purpose, rather than Lune providing e.g. Roblox file format parsing as a core feature.

Concretely, they’re pretty similar right now, but Lute exposes Luau’s parser which we’re using to build more developer tooling for Luau, including a linter, a codemod tool, and a package manager (and hopefully more in the future).

dhuan_ 3 hours ago | parent | prev | next [-]

well done! wouldn't it nice if something like this existed in Lua as well (or maybe it does and I haven't seen it yet)?

I've built a data transforming tool powered by Lua[1] and would definitely like to benefit from an general purpose api/library like Lute.

1: https://github.com/dhuan/dop

jjmarr 5 hours ago | parent | prev [-]

Why would I go with Lute over something like Python if I was starting a new project?

pphysch 4 hours ago | parent [-]

Seems like mainly a way to write Roblox compatible applications that aren't locked in to the Roblox platform?

giancarlostoro 3 hours ago | parent [-]

Not sure it even has to be Roblox compatible, but someone who writes Roblox code can take advantage of a familiar Lua variant.