Gleam
Friendly functional language on the BEAM VM with static types and Erlang interoperability.
Overview
Gleam is a functional programming language designed for building type-safe, scalable systems. It combines the power of a strong type system with the reliability of the Erlang virtual machine, which powers planet-scale systems like WhatsApp and Ericsson. The language features a modern, familiar syntax and comes with an integrated compiler, build tool, formatter, editor integrations, and package manager.
Gleam supports multiple compilation targets: it runs natively on the Erlang/BEAM runtime for server-side applications and can compile to JavaScript for browser and cross-platform use. It integrates seamlessly with the broader BEAM ecosystem, allowing developers to use thousands of existing packages written in Gleam, Erlang, or Elixir. The language emphasizes developer experience with clear error messages, no null values, and practical type safety.
Key features
- Strong static type system
- Erlang/BEAM runtime for concurrency and scalability
- Integrated compiler, build tool, and formatter
- JavaScript compilation support with TypeScript definitions
- Interoperability with Erlang and Elixir packages
- Actor-based concurrency with green threads
- Clear error messages and practical error handling
- Package manager and ecosystem integration
- Battle-tested Erlang runtime powers massive systems
- Excellent type safety prevents entire classes of bugs
- Can run millions of concurrent green threads efficiently
- Compiles to both Erlang and JavaScript
- Integrated tooling reduces setup friction
- Access to thousands of BEAM ecosystem packages
- Friendly community and welcoming culture
- Smaller ecosystem compared to mainstream languages
- Functional programming paradigm has a learning curve for imperative developers
- Less industry adoption than established languages
- Fewer job opportunities in the market
Best for
Alternatives
More Language
Compare allThe web's core programming language for interactive pages, apps, and full-stack development.