Gleam v1.9.0 introduces improved error messages, specifically around type errors involving records and incorrect argument counts. It also adds the gleam echo
command, a helpful tool for debugging pipelines by printing values at different stages. Additionally, the release includes experimental support for Git integration, allowing Gleam to leverage Git information for dependency resolution and package management. This simplifies workflows and improves dependency management within projects, especially for local development and testing.
The blog post "Gleam, Coming from Erlang" explores the author's experience transitioning from Erlang to Gleam, a newer language built on the Erlang Virtual Machine (BEAM). It highlights Gleam's similarities to Erlang, such as its functional nature, immutability, and the benefits of the BEAM ecosystem like concurrency and fault tolerance. However, the author emphasizes key differences, primarily Gleam's static typing, more approachable syntax inspired by Rust and Elm, and its focus on clearer error messages. While acknowledging some current limitations in tooling and library availability compared to Erlang's mature ecosystem, the post ultimately presents Gleam as a promising alternative for building robust, concurrent applications, particularly for developers coming from other statically-typed languages who might find Erlang's syntax challenging.
Hacker News commenters generally expressed interest in Gleam, praising its friendly syntax and the benefits it inherits from the Erlang ecosystem, like the BEAM VM. Some saw it as a potentially strong competitor to Elixir, appreciating its stricter type system and simpler tooling. A few users familiar with Erlang questioned the necessity of Gleam, suggesting that learning Erlang directly might be more worthwhile. Performance comparisons with Elixir and other BEAM languages were also a topic of discussion, with some expressing hope for benchmarks. A recurring sentiment was curiosity about Gleam's potential to attract a larger community and gain wider adoption. Several commenters also appreciated the author's candid comparison between Gleam and Erlang, finding the article helpful for understanding Gleam's niche.
Summary of Comments ( 16 )
https://news.ycombinator.com/item?id=43307987
Hacker News users discussed the Gleam v1.9.0 release, largely focusing on its novel approach to error handling. Several commenters praised the explicit and exhaustive nature of error handling in Gleam, contrasting it favorably with Elixir's approach, which some found less strict. The discussion also touched upon the tradeoffs between Gleam's stricter error handling and potential verbosity, with some acknowledging the benefits while others expressed concerns about potential boilerplate. A few comments highlighted the language's growing maturity and ecosystem, while others inquired about specific features like concurrency and performance. One commenter appreciated the clear and concise changelog, a sentiment echoed by others who found the update informative and well-presented. The overall tone was positive, with many expressing interest in exploring Gleam further.
The Hacker News post titled "Gleam v1.9.0 Released" linking to the Gleam v1.9.0 release announcement has a modest number of comments, focusing primarily on comparisons to other languages and ecosystems, and some discussion of Gleam's specific features.
One commenter expresses excitement about Gleam, noting its resemblance to Elm, but built on Erlang. They appreciate the robustness of the Erlang VM and the familiar syntax for those coming from Elm. This commenter sees potential in Gleam for front-end development through compilation to JavaScript, though they acknowledge this is not the primary focus.
Another comment draws a comparison to Elixir, highlighting the choice between Gleam's static typing and Elixir's dynamic typing. This commenter also mentions Gleam's focus on "correctness," which presumably refers to the benefits of its static type system. They also point out Gleam’s JavaScript compilation target, though they also acknowledge this is likely not the primary target.
A third comment focuses on the choice of JavaScript as a compilation target, questioning its long-term viability compared to WebAssembly (Wasm). This commenter acknowledges Gleam's primary target as Erlang/Elixir, but expresses a desire for languages to prioritize Wasm for broader frontend applicability.
A further comment expands on the WebAssembly discussion, suggesting that targeting JavaScript limits Gleam's potential reach for front-end developers. This commenter sees value in targeting both JavaScript and Wasm, allowing developers to choose the best option for their needs.
The remainder of the comments are shorter and less substantive. One user simply expresses their enjoyment of using Gleam, while another asks a clarifying question about whether Gleam uses BEAM (the Erlang virtual machine), which is confirmed by another user. Finally, one comment promotes an alternative statically typed language for the Erlang VM called Caramel.
In summary, the comments on this Hacker News post generally express interest in and appreciation for Gleam. Key discussion points include comparisons to Elm and Elixir, the advantages of static typing, and the choice of JavaScript as a compilation target versus WebAssembly. The conversation remains focused on Gleam's features and its place within the broader ecosystem of functional programming languages.