Deebster@programming.dev
on 11 Mar 2024 07:41
nextcollapse
It looks interesting. While the compiler is written in Rust (a RRIR from Erlang), the code itself runs on the Erlang VM or on JS. Unfortunately, you can’t do hot code reloading and I’m curious what/if you have to sacrifice to run on JS.
Much like the Erlang compiler backend this new JavaScript backend outputs human readable and pretty printed source code. It is now included with the compiler and does not require any extra components to be installed to use it.
Rather than attempting to replicate a subset of Erlang’s actor model Gleam uses the standard promise based concurrency model when targeting JavaScript. While this may be disappointing for some, it means that there is no additional runtime code added. This keeps bundle size small and makes it so code written in Gleam can be called like normal from languages such as JavaScript and TypeScript.
The guide/tutorial has some specifics about things that are allowed in erlang vs js. There’s a few features that don’t work completely in one or another.
solrize@lemmy.world
on 11 Mar 2024 08:48
nextcollapse
Another BEAM language. This one has (some?) static typing, and (bleach) JavaScript -like syntax. Is there a tldr of why write another of these instead of using an existing one? There are already a few. Even a port of typescript to beam might be a good approach. I agree with the concept of a typed functional language on BEAM but this doesn’t look attractive. I liked PureScript in the JS world but I think it lost out to typescript.
vcmj@programming.dev
on 11 Mar 2024 12:06
collapse
TehPers@beehaw.org
on 11 Mar 2024 09:51
nextcollapse
Everytime I see a post about this, I end up confusing it with gleam.io (which is a popular service for people doing giveaways). Looks cool, just the naming conflict is unfortunate.
threaded - newest
It looks interesting. While the compiler is written in Rust (a RRIR from Erlang), the code itself runs on the Erlang VM or on JS. Unfortunately, you can’t do hot code reloading and I’m curious what/if you have to sacrifice to run on JS.
Their cheatsheet for Rust users might be of interest to others.
While having a quick look through old news:
From June 2021 (v0.16) (gleam.run/…/v0.16-gleam-compiles-to-javascript/#h…)
Jan 2024 v0.34 (gleam.run/news/v0.34-multi-target-projects/#multi…) mentions some additional work done to enable multi target projects such as Lustre
The guide/tutorial has some specifics about things that are allowed in erlang vs js. There’s a few features that don’t work completely in one or another.
Another BEAM language. This one has (some?) static typing, and (bleach) JavaScript -like syntax. Is there a tldr of why write another of these instead of using an existing one? There are already a few. Even a port of typescript to beam might be a good approach. I agree with the concept of a typed functional language on BEAM but this doesn’t look attractive. I liked PureScript in the JS world but I think it lost out to typescript.
Not sure if this is the right answer I’m not familiar with that ecosystem: They have comparisons on their site
Everytime I see a post about this, I end up confusing it with gleam.io (which is a popular service for people doing giveaways). Looks cool, just the naming conflict is unfortunate.
The gleam name is also already taken by some OpenGL bindings on crates.io.
Seems nice but I can’t tell what its purpose is
This usually means that it’s mostly useless.
Maybe they can pivot to being a Sanrio competitor with their cute mascot
Exactly. I appreciate the “What’s Gleam” section, but I would also like to see a “Why Gleam?” section.
There’s no nice static strong typed language on the erlang vm. This is it.
.