Gleam (язык программирования)
![]() | Тема этой статьи Википедии может не соответствовать общему правилу по известности . ( март 2024 г. ) |
![]() Люси, морская звезда-талисман Gleam [1] | |
Парадигма | Мультипарадигма : функциональная , параллельная [2] |
---|---|
Разработано | Луи Пилфолд |
Разработчик | Луи Пилфолд |
Впервые появился | 13 июня 2016 г |
Стабильная версия | 1.3.2 [3] ![]() |
Дисциплина набора текста | Типобезопасный , статический , выведенный [2] |
Управление памятью | Мусор собран |
Язык реализации | Ржавчина |
ТЫ | FreeBSD , Linux , macOS , OpenBSD , Windows [4] |
Лицензия | Лицензия Апач 2.0 [5] |
Расширения имен файлов | .блеск |
Веб-сайт | светиться |
Под влиянием | |
[6] |
Gleam — это универсальный , параллельный , функциональный высокого уровня язык программирования , который компилируется в исходный код Erlang или JavaScript . [2] [7] [8]
Gleam — статически типизированный язык. [9] который отличается от самых популярных языков, которые работают на виртуальной машине Erlang BEAM , Erlang и Elixir . У Gleam есть собственная типобезопасная реализация OTP, структуры актеров Erlang. [10] Пакеты предоставляются с помощью менеджера пакетов Hex, также доступен индекс для поиска пакетов, написанных для Gleam. [11]
История
[ редактировать ]Первая номерная версия Gleam вышла 15 апреля 2019 года. [12] Компиляция в JavaScript была представлена в версии v0.16. [13]
В 2023 году фонд Erlang Ecosystem Foundation профинансировал создание курса обучения Gleam на обучающей платформе Exercism . [14]
Версия v1.0.0 была выпущена 4 марта 2024 г. [15]
Функции
[ редактировать ]Gleam включает в себя следующие функции, многие из которых являются общими для других функциональных языков программирования: [8]
- Тип результата для обработки ошибок
- Неизменяемые объекты
- Алгебраические типы данных
- Сопоставление с образцом
- Нет нулевых указателей
- Никаких неявных преобразований типов.
Пример
[ редактировать ]« Привет, мир!» пример:
import gleam/io
pub fn main() {
io.println("hello, friend!")
}
Gleam поддерживает оптимизацию хвостовых вызовов : [16]
pub fn factorial(x: Int) -> Int {
// The public function calls the private tail recursive function
factorial_loop(x, 1)
}
fn factorial_loop(x: Int, accumulator: Int) -> Int {
case x {
1 -> accumulator
// The last thing this function does is call itself
_ -> factorial_loop(x - 1, accumulator * x)
}
}
Выполнение
[ редактировать ]Инструментарий Gleam реализован на языке программирования Rust . [17] Цепочка инструментов представляет собой единый собственный двоичный исполняемый файл, который содержит компилятор, инструмент сборки, менеджер пакетов, форматировщик исходного кода и языковой сервер . Также доступен двоичный файл WebAssembly , содержащий компилятор Gleam, позволяющий компилировать код Gleam в веб-браузере.
Ссылки
[ редактировать ]- ^ «Проблемы с блеском/блеском — Новый логотип и талисман № 2551» . Гитхаб .
- ^ Jump up to: а б с «Домашняя страница Блеска» . 2024.
- ^ «Выпуск 1.3.2» .
- ^ «Установка блеска» . 2024.
- ^ «Файл лицензии Gleam» . Гитхаб . 5 декабря 2021 г.
- ^ Пилфолд, Луи (7 февраля 2024 г.). «Блеск: прошлое, настоящее, будущее!» . FOSDEM 2024 – через YouTube.
- ^ Крил, Пол (5 марта 2024 г.). «Язык Gleam доступен в первой стабильной версии» . Инфомир . Проверено 26 марта 2024 г.
- ^ Jump up to: а б Истман, Дэвид (22 июня 2024 г.). «Введение в Gleam, новый язык функционального программирования» . Новый стек . Проверено 29 июля 2024 г.
- ^ Де Симоне, Серджио (16 марта 2024 г.). «Статически типизированный функциональный язык Erlang-Runtime достигает версии 1.0» . ИнфоQ . Проверено 26 марта 2024 г.
- ^ Знакомство с актерами фильма «Блеск» — Рауль Чоуза . Код BEAM Америка. 27 марта 2024 г. Проверено 6 мая 2024 г. - через YouTube.
- ^ «Представляем индекс пакетов Gleam – Gleam» . блеск.бег . Проверено 7 мая 2024 г.
- ^ «Здравствуй, Глим! – Глим» . блеск.бег . Проверено 6 мая 2024 г.
- ^ «v0.16 — Gleam компилируется в JavaScript! — Gleam» . блеск.бег . Проверено 7 мая 2024 г.
- ^ Алистер, Вудман (декабрь 2023 г.). «Отчет председателя ежегодного общего собрания Erlang Ecosystem Foundation 2023» .
- ^ «Блеск версия 1 – Блеск» . блеск.бег . Проверено 7 мая 2024 г.
- ^ «Хвостовые звонки» . Языковой тур Gleam . Проверено 26 марта 2024 г.
- ^ gleam-lang/gleam , Gleam, 6 мая 2024 г. , получено 6 мая 2024 г.
Внешние ссылки
[ редактировать ]
- Языки программирования
- JavaScript
- Эрланг (язык программирования)
- Параллельные языки программирования
- Бесплатные компиляторы и интерпретаторы
- Бесплатные программные проекты
- Функциональные языки
- Языки программирования высокого уровня
- Мультипарадигмальные языки программирования
- Языки программирования сопоставления шаблонов
- Языки программирования, созданные в 2016 году.
- Программное обеспечение, использующее лицензию Apache
- Статически типизированные языки программирования
- Незавершенные темы по языку программирования