Jump to content

Gleam (язык программирования)

Блеск
Люси, морская звезда-талисман Gleam [1]
Парадигма Мультипарадигма : функциональная , параллельная [2]
Разработано Луи Пилфолд
Разработчик Луи Пилфолд
Впервые появился 13 июня 2016 г .; 8 лет назад ( 13.06.2016 )
Стабильная версия
1.3.2 [3]  Отредактируйте это в Викиданных / 11 июля 2024 г.
Дисциплина набора текста Типобезопасный , статический , выведенный [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 в веб-браузере.

  1. ^ «Проблемы с блеском/блеском — Новый логотип и талисман № 2551» . Гитхаб .
  2. ^ Jump up to: а б с «Домашняя страница Блеска» . 2024.
  3. ^ «Выпуск 1.3.2» .
  4. ^ «Установка блеска» . 2024.
  5. ^ «Файл лицензии Gleam» . Гитхаб . 5 декабря 2021 г.
  6. ^ Пилфолд, Луи (7 февраля 2024 г.). «Блеск: прошлое, настоящее, будущее!» . FOSDEM 2024 – через YouTube.
  7. ^ Крил, Пол (5 марта 2024 г.). «Язык Gleam доступен в первой стабильной версии» . Инфомир . Проверено 26 марта 2024 г.
  8. ^ Jump up to: а б Истман, Дэвид (22 июня 2024 г.). «Введение в Gleam, новый язык функционального программирования» . Новый стек . Проверено 29 июля 2024 г.
  9. ^ Де Симоне, Серджио (16 марта 2024 г.). «Статически типизированный функциональный язык Erlang-Runtime достигает версии 1.0» . ИнфоQ . Проверено 26 марта 2024 г.
  10. ^ Знакомство с актерами фильма «Блеск» — Рауль Чоуза . Код BEAM Америка. 27 марта 2024 г. Проверено 6 мая 2024 г. - через YouTube.
  11. ^ «Представляем индекс пакетов Gleam – Gleam» . блеск.бег . Проверено 7 мая 2024 г.
  12. ^ «Здравствуй, Глим! – Глим» . блеск.бег . Проверено 6 мая 2024 г.
  13. ^ «v0.16 — Gleam компилируется в JavaScript! — Gleam» . блеск.бег . Проверено 7 мая 2024 г.
  14. ^ Алистер, Вудман (декабрь 2023 г.). «Отчет председателя ежегодного общего собрания Erlang Ecosystem Foundation 2023» .
  15. ^ «Блеск версия 1 – Блеск» . блеск.бег . Проверено 7 мая 2024 г.
  16. ^ «Хвостовые звонки» . Языковой тур Gleam . Проверено 26 марта 2024 г.
  17. ^ gleam-lang/gleam , Gleam, 6 мая 2024 г. , получено 6 мая 2024 г.
[ редактировать ]


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 60ba28d383bf7a9cc200b330466a7ef5__1722289320
URL1:https://arc.ask3.ru/arc/aa/60/f5/60ba28d383bf7a9cc200b330466a7ef5.html
Заголовок, (Title) документа по адресу, URL1:
Gleam (programming language) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)