4 ms·
If I were to try to do a straight shot at getting elixir on the frontend I'd just send bytecode up to the frontend and interpret it, either in js or wasm. Erla
by throwawaymaths 4y ago
If I were to try to do a straight shot at getting elixir on the frontend I'd just send bytecode up to the frontend and interpret it, either in js or wasm. Erlang bytecode is fairly straightforward, and especially if you stay single threaded you can make a reasonable approximation of the compute model[0]. The hardest parts I imagine would be coming up with an abstraction that lets you manipulate the DOM and test it while staying in the elixir test environment, which is insanely good. I don't see how firefly makes that particular challenge any easier.
I feel like the dockyard folks just got rust crazy and decided to do this -- for reasons[1], rust is honestly not the best language to do a BEAM implementation in, which is I think why they pivoted to a compiler
[0] except for the fact that a lot of libraries unnecessarily spawn processes.
[1] https://www.erlang.org/doc/man/erts_alloc.html https://www.erlang.org/doc/man/erts_alloc.html
- illiarian 4y ago> If I were to try to do a straight shot at getting elixir on the frontend I'd ... use LiveView :)
- throwawaymaths 4y agoLike this proposes eventually obviating the need for things like LiveView.JS, LiveView hooks, etc.
- yellowapple 4y ago> except for the fact that a lot of libraries unnecessarily spawn processes. Well yeah, that's kinda the whole point of Erlang in the first place :)