Linguagem de Programação Gleam
Pontos principais
- Linguagem funcional, concorrente e estaticamente tipada.
- Compila para Erlang (BEAM) e JavaScript.
- Toolchain implementada em Rust, incluindo compilador e gerenciador de pacotes.
- Lançada em versão 1.0.0 em março de 2024.
O Gleam é uma linguagem de programação de alto nível, funcional, concorrente e de propósito geral. Sua principal característica é a capacidade de compilar para código-fonte em Erlang ou JavaScript, permitindo que as aplicações rodem tanto na máquina virtual BEAM quanto em ambientes de execução JavaScript.

Características Técnicas
Diferente de outras linguagens populares que operam na máquina virtual BEAM, como o Erlang e o Elixir, o Gleam é estaticamente tipado. Isso proporciona maior segurança em tempo de compilação, reduzindo a ocorrência de erros em tempo de execução.
A linguagem possui sua própria implementação segura de tipos para o OTP (Open Telecom Platform), o framework de atores do Erlang, facilitando a criação de sistemas altamente tolerantes a falhas e escaláveis.
Principais Recursos
- Tipagem Estática: Verificação de tipos rigorosa para evitar erros comuns.
- Imutabilidade: Objetos imutáveis por padrão, facilitando o raciocínio sobre o estado do programa.
- Tipos de Dados Algébricos (ADTs): Permitem a definição de estruturas de dados complexas e precisas.
- Pattern Matching: Mecanismo poderoso para desestruturação de dados e controle de fluxo.
- Tratamento de Erros: Uso do tipo Result para lidar com falhas de forma explícita.
- Segurança de Memória: Ausência de ponteiros nulos (null pointers) e de conversões implícitas de tipo.
Histórico e Desenvolvimento
O Gleam foi criado originalmente em 2016 por Louis Pilfold, inicialmente concebido para uma apresentação em conferência. Posteriormente, a linguagem foi redesenhada e evoluiu para sua forma atual.
O cronograma de marcos importantes inclui:
- 15 de abril de 2019: Lançamento da primeira versão numerada.
- Versão v0.16: Introdução da capacidade de compilar para JavaScript.
- 2023: Criação de um curso de aprendizado no Exercism, financiado pela Erlang Ecosystem Foundation.
- 4 de março de 2024: Lançamento da versão v1.0.0.
- Abril de 2025: Inclusão no Technology Radar da Thoughtworks, no anel de avaliação (Assess), indicando que é uma tecnologia digna de exploração.
Adoção e Ecossistema
A adoção do Gleam tem crescido, impulsionada por um forte foco na experiência do desenvolvedor (DX) e por ferramentas intuitivas. Dados de uma pesquisa de desenvolvedores de 2024, reportados por Louis Pilfold em 2025, indicam que a maioria dos usuários do Gleam provém de ecossistemas diferentes do Erlang e Elixir, expandindo a base de usuários da máquina virtual BEAM.
Em 2025, a linguagem estreou na pesquisa de desenvolvedores do Stack Overflow, posicionando-se como a segunda linguagem "mais admirada", com 70% dos usuários expressando o desejo de continuar trabalhando com ela.
O gerenciamento de pacotes é realizado através do Hex, o mesmo gerenciador utilizado por Elixir e Erlang, facilitando a integração com bibliotecas existentes.
Implementação do Toolchain
O conjunto de ferramentas (toolchain) do Gleam é implementado na linguagem Rust. Ele consiste em um único executável binário nativo que integra as seguintes funcionalidades: compilador, ferramenta de build, gerenciador de pacotes, formatador de código-fonte e servidor de linguagem (LSP).
Além disso, existe um binário em WebAssembly (Wasm) do compilador, o que permite que o código Gleam seja compilado diretamente no navegador, recurso utilizado no tour interativo da linguagem e em seu playground online.
Perguntas frequentes
O que é a linguagem Gleam?
O Gleam é uma linguagem de programação funcional e estaticamente tipada que compila para Erlang e JavaScript, permitindo a execução em ambientes BEAM e navegadores web.
Qual a diferença entre Gleam, Erlang e Elixir?
A principal diferença é que o Gleam possui tipagem estática, enquanto Erlang e Elixir são dinamicamente tipados, embora todos rodem na máquina virtual BEAM.
Para que serve o BEAM?
O BEAM é a máquina virtual projetada para a linguagem Erlang, focada em alta concorrência, tolerância a falhas e sistemas distribuídos.
Como o Gleam gerencia pacotes?
O Gleam utiliza o gerenciador de pacotes Hex, permitindo o acesso a bibliotecas e indexação de pacotes específicos para a linguagem.