Distributed computing and wasm

I am saying this as a complete starter to newbie.

I am interested about this platform: https://lunatic.solutions/

It basically turns every WASM capable language into an actor language.
That means, you do not need to care about asynchronous code, but the runtime does so for you.
Additionally, you can combine your language with every other language that targets the platform.

Bindings are very easy to write for the platform, and it enables us to execute code on multiple different devices, also spread across the world. So much for the promising attributes.

Now, I am right, that Julia has not really a working implementation towards WebAssembly, despite targeting LLVM?


The problem is that we still need a functioning Julia runtime not just WebAssembly bytecode. This includes garbage collection among many operations.

@jeff.bezanson gave a SOIL seminar 1.5 years ago on this topic.

Yep, and Jeff said at 3:11 that Co-Routines are the hardest part to implement.

As Lunatic handles that part for you, in the sense of actors, you don’t need to care about it.

Oscar Spencer, the main guy behind Grain, has a nice talk about it as well.

This would make implementing the runtime more simple, and it seems the biggest hurdle would be solved by that. It would not run existing programs, who already use Co-Routines, obviously.

I was actually also interested to know, how distributed computing is now solved?

Unless the Julia runtime itself does use Co-Routines?

If you’re willing to limit yourself to StaticCompiler compliant code, you can compile to wasm without the runtime.