(There is no convenient way to view ConcurrentLua's HTML documentation online, so for the time being I uploaded a copy here.)
In ConcurrentLua you apparently have to call a loop function "concurrent.loop()" to start the process. This is unlike Rust where, in your main thread, you simply spawn off a task and it starts running right away. (Does it?)
This seems to be because ConcurrentLua is doing cooperative multitasking (implemented in terms of coroutines), while Rust is doing preemptive multitasking. (Is this correct?) So a task simply keeps running until it begins to wait for a message, at which point another task will run, and so on. (Can this deadlock?)