- cross-posted to:
- programming_languages
- cross-posted to:
- programming_languages
The blog post is the author’s impressions of Gleam after it released version 1.4.0. Gleam is an upcoming language that is getting a lot of highly-ranked articles.
It runs on the Erlang virtual machine (BEAM), making it great for distributed programs and a competitor to Elixir and Erlang (the language). It also compiles to JavaScript, making it a competitor to TypeScript.
But unlike Elixir, Erlang, and TypeScript, it’s strongly typed (not just gradually typed). It has “functional” concepts like algebraic data types, immutable values, and first-class functions. The syntax is modeled after Rust and its tutorial is modeled after Go’s. Lastly, it has a very large community.
Doesnt seem particularly better than Go, unless you count compiling to JS as a strong need (knowing the JS world, I have my doubts on how useful/convenient that is until webasm really is adopted)
deleted by creator
Huh, the parenthesization thing is interesting. Programming languages so often pretend to be maths, because in specific situations, people do a lot of maths with them, and you get a familiarity bonus for it.
But yeah, it’s often clunky. I know in Rust, it’s a real problem that they can’t distinguish whether you’re using
<to compare the size of two numbers or to specify generics, which is why the turbofish-syntax exists.
And yeah, it just rarely feels actually worth it, as you could just as well write3.less_than(5).This parenthesization thing is definitely another such case, which I hadn’t considered yet.
I imagine, for most languages, it isn’t too big of a deal to have a special casing for that, as it mostly only overlaps with tuple-syntax, but for languages with implicit returns out of{ }, it’s kind of an unnecessary oddity in the syntax.deleted by creator



