Gleam — це універсальна, паралельна, функціональна мова програмування високого рівня, яка компілюється у вихідний код віртуальної машини Erlang або JavaScript .

Gleam — це статично типізована мова , яка відрізняється від найпопулярніших мов, що працюють на віртуальній машині Erlang BEAM, Erlang та Elixir . Gleam має власну типобезпечну реалізацію Open Telecom Platform, модель акторів Erlang. Пакети надаються за допомогою менеджера пакетів Hex, а також за індексом для пошуку пакетів, написаних для Gleam.

Історія Gleam було створено у 2016 році Люіс Пілфолд для конференції. Тільки пізніше Gleam був перероблений у те, чим він є сьогодні.

Перша версія була випущена 15 квітня 2019 року. Компіляція у JavaScript була додана у версії v0.16.

У 2023, Erlang Ecosystem Foundation підтримало створення курку для вивчення Gleam на платформі Exercism.

Версія v1.0.0 була випущена 4 березня 2024 року.

У квітні 2025 року, Thoughtworks додав Gleam у власний Радар технологій, в оціночному кільці (мови програмування та фреймворки варті дослідження).

Застовування Gleam отримав деяке застосування у останні роки. Творці мови ставили великий погляд на досвід розробки, що дало свій результат.

Хоч Gleam компілюється у байткод для віртуальної машини BEAM, більшість нових розробників на Gleam немають ні Erlang, ні Elixir на власному комп'ютері. У 2025, Люіс Пілфолд, ствопив звіт за результатами опитування 2024 року. Пілфолд заявив, що Gleam програмісти "переважно прийшли не з екосистем Erlang'у чи Elixir'у.

Розробнили заявляли, що легкість, статична типізація та привітна до користувача система інструментів є головною причиною застосування Gleam у різних сферах. Розробник Nestful описав їхню мотивацію на переписання проєкту на Gleam через його зрозумілість та простоту у використанні. Існує список компаній, які використовують Gleam. Список підтримується та оновлюється спільнотою Gleam/

У 2025 році Gleam вперше з'явився в опитуванні розробників Stack Overflow, де він посів друге місце серед «найпопулярніших» мов, причому 70% користувачів, які зараз використовують цю мову, хотіли б продовжувати працювати з нею. 1,1% респондентів-розробників повідомили про «значну роботу з розробки» цієї мови протягом останнього року.

Особливості Gleam має такі характеристики.

Тип результату для обробки помилок Незмінні об'єкти Алгебраїчні типи даних Зіставлення зі взірцем Без нульових вказівників Немає неявних перетворень типів

Приклад Приклад "Привіт, світе!":

import gleam/io

pub fn main() { io.println("Привіт, світе!") }

Gleam підтримує оптимізацію хвостових викликів :

pub fn factorial(x: Int) -> Int { // Публічна функція, яка викликає функцію з tail-call оптимізацією factorial_loop(x, 1) }

fn factorial_loop(x: Int, accumulator: Int) -> Int { case x { 1 -> accumulator

// Останнє що робить ця функція це викликає себе _ -> factorial_loop(x - 1, accumulator * x)

Реалізація Інструментарій Gleam реалізовано мовою програмування Rust . Набір інструментів — це єдиний виконуваний бінарний файл, який містить компілятор, систему збірки, менеджер пакетів, форматувальник вихідного коду та сервер мови для Інтегрованого середовища розробки. Також доступний бінарний файл з WebAssembly, що містить компілятор Gleam, що дозволяє компілювати код Gleam у браузері.

Примітки

Зовнішні посилання