Gleam (programming language)

Last updated

Gleam
Gleam Lucy.svg
Lucy, the starfish mascot for Gleam [1]
Paradigm Multi-paradigm: functional, concurrent [2]
Designed by Louis Pilfold
Developer Louis Pilfold
First appearedJune 13, 2016;9 years ago (2016-06-13)
Stable release
1.13.0 [3]   OOjs UI icon edit-ltr-progressive.svg / 19 October 2025
Typing discipline Type-safe, static, inferred [2]
Memory management Garbage collected
Implementation language Rust
OS FreeBSD, Linux, macOS, OpenBSD, Windows [4]
License Apache License 2.0 [5]
Filename extensions .gleam
Website gleam.run
Influenced by
[6]

Gleam is a general-purpose, concurrent, functional, high-level programming language that compiles to Erlang or JavaScript source code. [2] [7] [8]

Contents

Gleam is a statically-typed language, [9] which is different from the most popular languages that run on Erlang’s virtual machine BEAM, Erlang and Elixir. Gleam has its own type-safe implementation of OTP, Erlang's actor framework. [10] Packages are provided using the Hex package manager, and an index for finding packages written for Gleam is available. [11]

History

Gleam was originally created in 2017 by Louis Pilfold for a conference talk. It was later redesigned and adapted into what it is today. [6]

The first numbered version of Gleam was released on April 15, 2019. [12] Compiling to JavaScript was introduced with version v0.16. [13]

In 2023 the Erlang Ecosystem Foundation funded the creation of a course for learning Gleam on the learning platform Exercism. [14]

Version v1.0.0 was released on March 4, 2024. [15]

In April 2025, Thoughtworks added Gleam to its Technology Radar in the Assess ring (languages & frameworks worth exploring). [16]

Adoption

Gleam has seen some adoption in recent years. [17] According to a blog post, the language creators have placed strong emphasis on developer experience (DX), which has contributed to its appeal. [18] [ better source needed ]

Although it compiles to run on the BEAM virtual machine, most new Gleam users do not have a background in Erlang nor Elixir, two older BEAM languages. [19] In 2025, Louis Pilfold reported on results from the 2024 developer survey, which received 841 responses. [19] Pilfold concluded that Gleam developers "overwhelmingly come from other ecosystems other than Erlang and Elixir". [19] The core team also reported on Gleam's efforts to expand the BEAM ecosystem in a keynote talk at Code BEAM Europe 2024. [20]

Developers have cited Gleam’s simplicity, static typing, and user-friendly tooling as reasons for adoption. [21] The developer behind Nestful described their motivations for rewriting the project in Gleam as driven by its clarity and ease of use. [22] There is a community-maintained list of companies using Gleam in production. [23]

In 2025, Gleam appeared for the first time in the Stack Overflow Developer Survey, where it was the 2nd "most admired" language, with 70% of users currently using the language wanting to continue working with it. [17] 1.1% of developer respondents reported doing "extensive development work" in the language over the past year. [17]

Features

Gleam includes the following features. [8] [24]

Example

A "Hello, World!" example:

importgleam/iopubfnmain(){io.println("hello, world!")}

Gleam supports tail call optimization: [25]

pubfnfactorial(x:Int)->Int{// The public function calls the private tail recursive functionfactorial_loop(x,1)}fnfactorial_loop(x:Int,accumulator:Int)->Int{casex{1->accumulator// The last thing this function does is call itself_->factorial_loop(x-1,accumulator*x)}}

Implementation

Gleam's toolchain is implemented in the Rust programming language. [26] The toolchain is a single native binary executable which contains the compiler, build tool, package manager, source code formatter, and language server.[ citation needed ] A WebAssembly binary containing the Gleam compiler is also available, enabling Gleam code to be compiled within a web browser. [27] This is used in Gleam's interactive language tour [28] and online playground. [29]

References

  1. "gleam-lang/gleam Issues – New logo and mascot #2551". GitHub .
  2. 1 2 3 "Gleam Homepage". 2024.
  3. "Release 1.13.0". October 19, 2025. Retrieved October 20, 2025.
  4. "Installing Gleam". 2024.
  5. "Gleam License File". GitHub . December 5, 2021.
  6. 1 2 Pilfold, Louis (February 7, 2024). "Gleam: Past, Present, Future!". Fosdem 2024 via YouTube.
  7. Krill, Paul (March 5, 2024). "Gleam language available in first stable release". InfoWorld. Retrieved March 26, 2024.
  8. 1 2 Eastman, David (June 22, 2024). "Introduction to Gleam, a New Functional Programming Language". The New Stack. Retrieved July 29, 2024.
  9. De Simone, Sergio (March 16, 2024). "Erlang-Runtime Statically-Typed Functional Language Gleam Reaches 1.0". InfoQ. Retrieved March 26, 2024.
  10. Getting to know Actors in Gleam – Raúl Chouza. Code BEAM America. March 27, 2024. Retrieved May 6, 2024 via YouTube.
  11. "Introducing the Gleam package index – Gleam". gleam.run. Retrieved May 7, 2024.
  12. "Hello, Gleam! – Gleam". gleam.run. Retrieved May 6, 2024.
  13. "v0.16 – Gleam compiles to JavaScript! – Gleam". gleam.run. Retrieved May 7, 2024.
  14. Alistair, Woodman (December 2023). "Erlang Ecosystem Foundation Annual General Meeting 2023 Chair's Report".
  15. "Gleam version 1 – Gleam". gleam.run. Retrieved May 7, 2024.
  16. "Thoughtworks Technology Radar, Gleam". 2025.
  17. 1 2 3 "Technology | 2025 Stack Overflow Developer Survey". survey.stackoverflow.co. Retrieved August 9, 2025.
  18. Why Gleam Is Good
  19. 1 2 3 Pilfold, Louis. "Developer Survey 2024 Results". gleam.run. Retrieved August 9, 2025.
  20. Code Sync (October 28, 2024). Keynote: Gleam's Journey on the BEAM - Hayleigh Thompson & Louis Pilfold | Code BEAM Europe 2024 . Retrieved August 9, 2025 via YouTube.
  21. Lingris, Alex (November 25, 2025). "We Rewrote Our Startup from PHP to Gleam in 3 Weeks". www.radical-elements.com. Retrieved December 16, 2025.
  22. Nestful. "Why I Rewrote Nestful in Gleam". blog.nestful.app. Retrieved August 9, 2025.
  23. Harris-Holt, Isaac (July 31, 2025), isaacharrisholt/gleam-in-production , retrieved August 9, 2025
  24. Sharma, Gaurav (June 25, 2024). "Meet GLEAM: A new programming language for developers".
  25. "Tail Calls". The Gleam Language Tour. Retrieved March 26, 2024.
  26. "gleam-lang/gleam". Gleam. May 6, 2024. Retrieved May 6, 2024.
  27. "Gleam's new interactive language tour | Gleam programming language". gleam.run. Retrieved December 16, 2025.
  28. "Welcome to the Gleam language tour! 💫 - The Gleam Language Tour". tour.gleam.run. Retrieved December 16, 2025.
  29. "The Gleam Playground". playground.gleam.run. Retrieved December 16, 2025.