gleam
borgo

gleam | borgo | |
---|---|---|
119 | 15 | |
18,745 | 4,353 | |
1.8% | 2.4% | |
9.9 | 4.4 | |
4 days ago | 4 months ago | |
Rust | Rust | |
Apache License 2.0 | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gleam
-
My Impressions of Gleam
Wow. I invite everyone to go actually read the Gleam’s homepage: https://gleam.run/
After reading the discussion here, with our poor community being “blinded by pathetic posturing” and such, I was expecting some kind of political polemic plastered over everything.
Here’s the sum total of everything that could be considered political from the page:
Friendly
As a community, we want to be friendly too. People from around the world, of all backgrounds, genders, and experience levels are welcome and respected equally. See our community code of conduct for more.
Black lives matter. Trans rights are human rights. No nazi bullsh*t.
Which part of that can you possibly find objectionable? It seems the mere mention of anything political is seen as a transgression somehow. Like, Can’t we just go back to pretending we’re entirely apolitical, while the technologies we build reshape the political landscape of the entire planet?
-
Introduction to Gleam Programming Language
Gleam GitHub Repository
-
Building Your First Gleam Application: A Weather CLI Tool
Official Gleam Documentation
-
Ask HN: Isn't there a lightweight and popular Rust?
- https://without.boats/blog/revisiting-a-smaller-rust/
It's also niche, but https://gleam.run/ might be a candidate alternate language, depending on your use-case.
- Gleam 1.6.0 Is Released
-
Everything Is Just Functions: Mind-Blowing Insights from SICP and David Beazley
Not the other commenter, but my team has been using Elixir in production (soft real-time distributed systems) for several years to great success. The approachable syntax has been great for folks new to the language coming on board and sort of, not realising they’re “doing FP”.
Generally I’d say Elixir’s lack of “hard” static typing is more than made up for what you get from the BEAM VM, OTP, its concurrency model, supervisors etc.
That said if you’re interested in leveraging the platform whilst also programming with types I’d recommend checking out Gleam (https://gleam.run), which I believe uses an HM type system.
-
Concurrency & Fault-tolerant In Distributed Systems
The BEAM runtime demonstrates the power of building concurrency and fault tolerance into the core runtime. While other languages can approximate these capabilities through frameworks, the elegance and robustness of having it built into the runtime remains compelling. I believe that’s why Gleam decided to use the BEAM when it was being built.
-
Top FP technologies
Gleam
-
👉 What is gleam language used for ❓
Gleam as it says in their website is a friendly language for building type-safe systems that scale!.
-
What Language Should I Choose?
One language that really gave me that feeling was Gleam, it managed to wrap everything I liked about languages such as JS, Rust and even Java into one brilliant type-safe package. Not for a long time before I met Gleam had I wanted to try creating so many different things just to get to the bottom of how this language ticked, as it were.
borgo
-
When Zig Is Safer and Faster Than Rust
I wouldn’t use this in production, but this was in HN earlier this year and I love the idea: https://github.com/borgo-lang/borgo
- Understanding the Odin Programming Language
-
Good union types in Go would probably need types without a zero value
Features such as type unions. The topic of this conversation.
> Why are we not using OCaml or standardML or even F# (which I tend to look favorably on) more widely then?
In my opinion there are a number of factors. I have most experience with OCaml, so on that:
1. Terrible Windows support.
2. Poor documentation.
3. An obsession with linked lists and recursion, which are great from a theoretical point of view, but abysmal from a performance point of view (and also simplicity IMO).
4. Poor syntax. The dearth of brackets and semicolons makes it very hard to visually parse. Something as simple as mismatched brackets can be very frustrating to resolve. The insistence on (a -> b -> c -> d) style function types is unnecessarily confusing. Generally when there has been a choice between academic cleverness and accessibility they've always chosen cleverness.
5. Global type inference is pretty clearly a mistake at this point.
IMO part of the reason Rust is so successful is that it has taken a lot of the very good ideas from ML and basically fixed all of the above issues.
Standard accessible C style syntax, but expression based and with proper ML style types. Fantastic documentation and Windows support. No linked lists to be seen.
It's such a compelling design someone copied it for Go: https://borgo-lang.github.io/
-
Borgo Programming Language
Note that the compiler is not open source.
https://github.com/borgo-lang/borgo/issues/11
- Lies we tell ourselves to keep using Golang
-
An unordered list of things I miss in Go
Borgo is an interesting attempt to address some of these issues. I would love it to get real traction.
https://github.com/borgo-lang/borgo
-
100 Exercises to Learn Rust
> Other than safety and the like.
I think these are some good points:
https://github.blog/2023-08-30-why-rust-is-the-most-admired-...
On the one hand, "safety" avoids the "use after free" or other bugs which plague programs written in C. For systems programming, that is significant.
On the other hand, the "safety" allows for much easier concurrency.
The higher-level stuff like "pattern matching" is really nice. It's nice enough that it motivated efforts like https://github.com/borgo-lang/borgo
Somewhat implicit is that Rust has enough of a community that there are many good packages/libraries and tools around it.
- A new programming language that compiles to Go
- Borgo is a programming language that compiles to Go
-
Borgo is a statically typed language that compiles to Go
See the example with the `?` operator: https://github.com/borgo-lang/borgo?tab=readme-ov-file#error...
What are some alternatives?
are-we-fast-yet - Are We Fast Yet? Comparing Language Implementations with Objects, Closures, and Arrays
bflat - C# as you know it but with Go-inspired tooling (small, selfcontained, and native executables)
Rustler - Safe Rust bridge for creating Erlang NIF functions
ClosedTypeHierarchyDiagnosticSuppressor - Suppresses exhaustiveness warnings for switching (switch statement or expression) on closed type hierarchies
ponyc - Pony is an open-source, actor-model, capabilities-secure, high performance programming language
purescript-native - A native compiler backend for PureScript (via C++ or Golang)
nx - Multi-dimensional arrays (tensors) and numerical definitions for Elixir
grumpy - Grumpy is a Python to Go source code transcompiler and runtime.
hamler - Haskell-style functional programming language running on Erlang VM.
have - The Have Programming Language
haskell-language-server - Official haskell ide support via language server (LSP). Successor of ghcide & haskell-ide-engine.
wire - Compile-time Dependency Injection for Go
