Hacker News new | past | comments | ask | show | jobs | submit login
Lumen: Alternative BEAM implementation, designed for WebAssembly (github.com/lumen)
148 points by brainless on July 31, 2021 | hide | past | favorite | 19 comments

See also Gleam, a statically typed functional programming language for the BEAM:


How is this related?

I mean I get it targets the BEAM, but Gleam is a programming language, Lumen is a VM.

(Not parent) maybe losely related to: https://gleam.run/news/v0.16-gleam-compiles-to-javascript/

The vast majority if code that gets used on this will be Erlang and Elixir. At least for now, those are the two languages on the BEAM with traction.

It's interesting to see how Caramel, Gleam, LFE, etc, will develop, though.

If I am learning Rust (having a Python, JS/TS background) and am interested in the fault tolerant execution model of BEAM (cheap micro, pre-emptive, "processes"), what Rust crates (libraries) would anyone suggest to get a similar execution model?

Bastion is aiming for exactly that

The `actix` crate.

I think it would be really nice to have some description what BEAM actually is. I don't think this is so common knowledge. The issue is also that there are no links even and it's not like BEAM is a very google friendly term. Currently the readme simply assumes that one already knows what lumen is about.

I found this video really good introduction to what BEAM is and allows for programmers: https://www.youtube.com/watch?v=JvBT4XBdoUE&pp=sAQA

Search for "BEAM Erlang".


https://www.youtube.com/watch?v=_Pwlvy3zz9M (Robert Virding - Hitchhiker's Tour of the BEAM)

Likewise not related to https://lumen.laravel.com/

What are the technical advantages of having a Wasm based BEAM implementation?

We are hoping for several outcomes. The first is web wasm compilation. We have some ideas on what architectural advantages can come from having BEAM controlled UI. The second is a WASI compilation. So targeting stand alone binaries. This is different than other "compile BEAM to binary" implementations. We are targeting a footprint size of 200kb (web and wasi) which gives Erlang and Elixir an opening to targeting more IoT devices.

From pretty far down in the README:

> The primary motivator for Lumen's development was the ability to compile Elixir applications that could target WebAssembly, enabling use of Elixir as a language for frontend development.

BEAM is also a very nice VM if you are thinking of a target for your own language. It is easy to learn and use. And this adds more freedom.

Wod, running Erlang/Elixir in the browser would be super awesome.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact