Howdy Logo
Glossary Hero image

The Howdy Glossary

Search terms in Glossary

Gleam

Gleam is a statically typed programming language designed for the Erlang virtual machine, combining functional and object-oriented programming concepts to create safe and scalable systems. It operates using an actor-based model for concurrent computation, where state is encapsulated within separate actors that communicate via message passing. Its syntax focuses on readability and productivity, incorporating features like union types, pattern matching, and proper tail call optimization. Gleam is especially suited for building fault-tolerant distributed systems, benefiting from the BEAM ecosystem tools such as Erlang and Elixir.

Created by software engineer Louis Pilfold, Gleam was developed to address the need for a statically typed language leveraging the strengths of the Erlang ecosystem while offering a modern developer-friendly syntax. The aim was to simplify building distributed systems and concurrent applications on the Erlang virtual machine. By blending functional and object-oriented paradigms with an actor-based model for concurrency, Gleam provides developers with tools to streamline creating safe and scalable systems. Its design enhances developer productivity through expressive syntax elements like union types and pattern matching.

Gleam competes in a niche space focused on concurrent and distributed computing alongside languages like Erlang, Elixir, and Scala. While Erlang excels in fault tolerance and concurrency capabilities, Elixir offers modern syntax improvements on top of these robust features. Scala combines object-oriented and functional programming with strong concurrency support through libraries like Akka. Gleam distinguishes itself by providing static typing within this environment's context—an advantage that offers enhanced safety and predictability in large-scale systems development while leveraging BEAM's rich toolset of libraries for building reliable distributed applications.

Back
Hire Gleam Experts

Enter your email to get started.