Gleam (Programmiersprache)

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Gleam

Lucy, das Maskottchen von Gleam

Basisdaten
Paradigmen: funktional
Erscheinungsjahr: 26. Juni 2016[1]
Designer: Louis Pilfold
Entwickler: Louis Pilfold
Aktuelle Version: 1.5.1[2]  (26. September 2024)
Typisierung: statisch, impliziert
Wichtige Implementierungen: Rust, WebAssembly
Beeinflusst von: Erlang, Elixir, Rust, Go, OCaml, JavaScript, Elm[1]
Betriebssystem: Erlang
Lizenz: Apache-Lizenz, Version 2.0
gleam.run

Gleam ist eine statisch typisierte allzweck Programmiersprache, entwickelt von Louis Pilfold. Sie kompiliert entweder zu Erlang (BEAM Virtuelle Maschine) oder JavaScript.[3] Durch ihre statische Typisierung hebt sie sich stark von anderen auf der BEAM Virtual Maschine basierenden Sprachen, wie Elixir und Erlang ab. Pakete werden über den Paketmanager Hex bereitgestellt.[4]

Gleams erste Version (Version v0.1) erschien am 15. April 2019[5]. In der Version v0.16 wurde Support für JavaScript hinzugefügt.[6] 2023 investierte die Erlang Ecosystem Foundation in einen Kurs für Gleam auf der Plattform Exercism.[7] Die erste stabile Version 1.0 erschien am 4. März 2024.[8]

Gleams Compiler ist in der Programmiersprache Rust implementiert[9] und wird in einer einzelnen Datei mit den nötigen Build Tools, dem Packetmanager, dem Formatierer und dem Language Server ausgeliefert. WebAssembly wird über einen speziellen Compiler unterstützt, um Programme in einem Webbrowser ausführen zu können.

Ein Hello World Beispiel:

import gleam/io

pub fn main() {
  io.println("Hello, world!")
}

Berechnung der Fibonacci-Folge:

import gleam/int
import gleam/io

pub fn fibonacci(n: Int) -> Int {
  case n {
    0 -> 0
    1 -> 1
    _ -> fibonacci(n - 1) + fibonacci(n - 2)
  }
}

pub fn main() {
  io.println(int.to_string(fibonacci(10)))
}

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. a b Gleam: Past, Present, Future! • Louis Pilfold @ FOSDEM 2024. In: YouTube. 7. Februar 2024, abgerufen am 23. Oktober 2024 (englisch).
  2. Release v1.5.1. In: GitHub. 26. September 2024, abgerufen am 23. Oktober 2024 (englisch).
  3. Paul Krill: Gleam language available in first stable release. In: Infoworld. 5. März 2024, abgerufen am 23. Oktober 2024 (englisch).
  4. Louis Pilfold: Introducing the Gleam package index. In: Gleam.run. 30. April 2024, abgerufen am 23. Oktober 2024 (englisch).
  5. Louis Pilfold: What’s Gleam? In: Gleam.run. 15. April 2019, abgerufen am 23. Oktober 2024 (englisch).
  6. Louis Pilfold: v0.16 - Gleam compiles to JavaScript! In: Gleam.run. 17. Juni 2021, abgerufen am 23. Oktober 2024 (englisch).
  7. Erlang Ecosystem Foundation Annual General Meeting December 2023 Chair’s Report. In: Google Drive. Erlang Ecosystem Foundation, 1. Dezember 2023, S. 9, abgerufen am 23. Oktober 2024 (englisch).
  8. Louis Pilfold: Gleam version 1. In: Gleam.run. 4. März 2024, abgerufen am 23. Oktober 2024 (englisch).
  9. Gleam GitHub. In: GitHub. Abgerufen am 23. Oktober 2024 (englisch).