gleam-lang/gleam

⭐️ A friendly language for building type-safe, scalable systems!

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 15 minutes ago
Added to GitGenius on September 2nd, 2026
Created on June 30th, 2016
Open Issues & Pull Requests: 226 (+0)
GitHub issues: Enabled
Number of forks: 1,012
Total Stargazers: 21,883 (+0)
Total Subscribers: 88 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

Gleam is a statically-typed programming language that compiles to Erlang and JavaScript, designed for building type-safe, scalable systems.

Gleam addresses the challenge of writing reliable concurrent systems by combining strong static typing with the proven runtime capabilities of the Erlang virtual machine. The language enforces type safety at compile time, eliminating entire categories of runtime errors before code executes. It compiles to Erlang for server-side applications and JavaScript for browser environments, allowing developers to leverage the Erlang runtime's legendary fault-tolerance and hot-code-reloading capabilities while maintaining a modern, approachable syntax.

Gleam suits teams building distributed systems, backend services, or real-time applications where reliability and concurrency are critical. The language is particularly valuable for projects that would benefit from Erlang's actor model and message-passing concurrency but want a more contemporary developer experience than traditional Erlang or Elixir. It works well for developers who prioritize type safety and want compiler guarantees about correctness. Those building simple scripts or applications without concurrency requirements may find the type system overhead unnecessary compared to dynamically-typed alternatives.

The project demonstrates sustained, focused development with regular compiler improvements and language refinements. The maintainers actively address bug reports and incorporate community feedback into language design decisions. Development shows consistent attention to documentation and tooling quality, with ongoing work to improve the developer experience through better error messages and IDE support. The project maintains a clear vision for the language while remaining responsive to practical needs of users building real systems.