lloyAlloy on GitHub
reply
Docs

reply

Updated
--- A job, and the levels a worker answers with.
export message Light(job: number, input: buffer) reply(job: number, levels: buffer)

Light.replied(function(job, levels)
    print(job, buffer.len(levels))
end)
-- The worker, an `.actor.` script:
Light.on(function(job, input, respond)
    respond(job, input)
end)

The answer of a message. replied binds a handler of the reply on any script, and the handler of on and once takes respond after the parameters. respond fires a BindableEvent, so in an as parallel handler it calls task.synchronize() first. A reply parameter takes the rules of a message parameter. alloy doc message has the rest.

The word is free as a name. reply opens the clause only after the parameters of a message, before ( on the same line, so a parameter or a local named reply reads the Luau way.