# Distributed computing and wasm

**URL:** https://discourse.julialang.org/t/distributed-computing-and-wasm/103178
**Category:** New to Julia
**Tags:** question
**Created:** [August 25, 2023, 7:33am UTC](https://discourse.julialang.org/t/distributed-computing-and-wasm/103178 "2023-08-25T07:33:16Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![ShalokShalom](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/shalokshalom/32/52462_2.png) [@ShalokShalom](https://discourse.julialang.org/u/ShalokShalom)
#### Post date: [August 25, 2023, 7:33am UTC](https://discourse.julialang.org/t/distributed-computing-and-wasm/103178/1 "2023-08-25T07:33:16Z")

</div>

I am saying this as a complete starter to newbie.

I am interested about this platform: [https://lunatic.solutions/](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?

[https://www.reddit.com/r/Julia/comments/u8shoe/state\_of\_web\_assembly\_in\_julia/](https://www.reddit.com/r/Julia/comments/u8shoe/state_of_web_assembly_in_julia/)

---

<div class="post-metadata">

### Author: ![mkitti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkitti/32/12459_2.png) [@mkitti](https://discourse.julialang.org/u/mkitti)
#### Post date: [August 25, 2023, 8:21am UTC](https://discourse.julialang.org/t/distributed-computing-and-wasm/103178/2 "2023-08-25T08:21:35Z")

</div>

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.

[![](https://global.discourse-cdn.com/julialang/original/3X/7/3/733ad7526f0f95f5bc59c75271ff97047e63a1d8.jpeg "Julia Language on WebAssembly: Our Wish List and Experience So Far") ](https://www.youtube.com/watch?v=DUumYxjK1Xs)

---

<div class="post-metadata">

### Author: ![ShalokShalom](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/shalokshalom/32/52462_2.png) [@ShalokShalom](https://discourse.julialang.org/u/ShalokShalom)
#### Post date: [August 25, 2023, 8:47am UTC](https://discourse.julialang.org/t/distributed-computing-and-wasm/103178/3 "2023-08-25T08:47:40Z")

</div>

Yep, and Jeff said at [3:11](https://youtu.be/DUumYxjK1Xs?feature=shared&t=191) 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.](https://www.youtube.com/watch?v=HdWEA_erA6w)

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?

---

<div class="post-metadata">

### Author: ![ShalokShalom](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/shalokshalom/32/52462_2.png) [@ShalokShalom](https://discourse.julialang.org/u/ShalokShalom)
#### Post date: [August 27, 2023, 9:31am UTC](https://discourse.julialang.org/t/distributed-computing-and-wasm/103178/4 "2023-08-27T09:31:43Z")

</div>

Unless the Julia runtime itself does use Co-Routines?

---

<div class="post-metadata">

### Author: ![mrufsvold](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mrufsvold/32/31600_2.png) [@mrufsvold](https://discourse.julialang.org/u/mrufsvold)
#### Post date: [August 28, 2023, 12:57am UTC](https://discourse.julialang.org/t/distributed-computing-and-wasm/103178/5 "2023-08-28T00:57:15Z")

</div>

If you’re willing to limit yourself to StaticCompiler compliant code, you can [compile to wasm without the runtime.](https://tshort.github.io/Lorenz-WebAssembly-Model.jl/)

---

<div class="post-metadata">

### Author: ![mbauman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbauman/32/31082_2.png) [@mbauman](https://discourse.julialang.org/u/mbauman)
#### Post date: [January 18, 2024, 5:06pm UTC](https://discourse.julialang.org/t/distributed-computing-and-wasm/103178/6 "2024-01-18T17:06:18Z")

</div>

A post was merged into an existing topic: [Can Julia execute WASM IR](https://discourse.julialang.org/t/can-julia-execute-wasm-ir/108972/2)
