gleam
Rustler
gleam | Rustler | |
---|---|---|
119 | 36 | |
18,632 | 4,415 | |
2.7% | 0.7% | |
9.9 | 8.7 | |
about 15 hours ago | 10 days ago | |
Rust | Rust | |
Apache License 2.0 | 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.
Rustler
-
Ask HN: What is the best way to learn Erlang?
Yep, I think you'd be hard-pressed to find the actual Elixir code be the bottleneck in a real-life application. But if you do encounter that, you can use something like Rustler[0] for the CPU-intensive bottleneck, as Discord did[1] while working on a data structure they needed. Slow DB queries are something else to look out for.
[0] https://github.com/rusterlium/rustler
[1] https://github.com/discord/sorted_set_nif
-
AI Toolkit: Give a brain to your game's NPCs, a header-only C++ library
For performance intensive tasks, you could rely on Rust NIFs, there is this great project: https://github.com/rusterlium/rustler
My last project with Elixir was using Elixir merely as an orchestrator of static binaries (developed in golang) which were talking in JSON via stdin/stdout.
-
Building Apps with Tauri and Elixir
From the moment we discovered Tauri, we really felt like this was the perfect fit. The API is really solid, the configuration files are minimal and easy to understand, and the usage of Rust makes it way easier to add new functionalities and think about interesting ways of interoperating with Elixir via the Rustler library.
-
Async Rust Is A Bad Language
Elixir/Rust is the new Python/C++, and Rustler makes the communicating between the 2 languages super easy: https://github.com/rusterlium/rustler
-
Why elixir over Golang
Rustler is so awesome for this. Write Elixir NIFs in Rust? Yes, please!
- Is RUST a good choice for building web browsers?
-
Why do you enjoy systems programming languages?
But really, I would suggest thinking about what you want to build before "how" or "with which tool" - one of the signs of a person becoming a good engineer is having an array of tools at their disposal and being able to choose a correct tool for the correct task. Rust also excels in integrating with other languages - with JS via WebAssembly (a bit of self-promotion, for example), with Elixir via Rustler, with Python via PyO3 and PyOxidizer, etc. So you absolutely can start writing a frontend app with JS, or a distributed system with Elixir, or a data processing/ML app with Python and use Rust to speed up critical parts of those. Or, in reverse, you can start with Rust & add new capabilities to whatever you're building, that being a frontend, a resilient chat interface, or an ML model.
-
PasswordRs 0.1.0 released (Rust NIF for password hashing)
I created a elixir (wrapper) library to generate password hashes. Other Elixir libraries use a C NIF to generate password hashes. This libary uses a Rust NIF (using Rustler) and the Rust libraries the generate the different hashes. Additionally this library uses RustlerPrecompiled so you don't need to have a Rust compiler installed to use this library. It supports argon2, scrypt, brypt and pbkdf2.
- Elixir and Rust is a good mix
-
It's legos all the way down
unfortunately as of the time of this writing, rustler does not support generic type intefaces so I guess this is impossible?
What are some alternatives?
are-we-fast-yet - Are We Fast Yet? Comparing Language Implementations with Objects, Closures, and Arrays
nifty - helpful tools for when I need to create an Elixir NIF .
nx - Multi-dimensional arrays (tensors) and numerical definitions for Elixir
hsnif - Tool that allows to write Erlang NIF libraries in Haskell
ponyc - Pony is an open-source, actor-model, capabilities-secure, high performance programming language
crate-deps
hamler - Haskell-style functional programming language running on Erlang VM.
dplyr - dplyr: A grammar of data manipulation
otp - 📫 Fault tolerant multicore programs with actors
duckdb-rs - Ergonomic bindings to duckdb for Rust
borgo - Borgo is a statically typed language that compiles to Go.
rst - The open source design documentation tool for everybody [Moved to: https://github.com/vitiral/artifact]