Gleam (Programmiersprache)
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]
Geschichte
[Bearbeiten | Quelltext bearbeiten]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]
Implementation
[Bearbeiten | Quelltext bearbeiten]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.
Beispiele
[Bearbeiten | Quelltext bearbeiten]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]- ↑ a b Gleam: Past, Present, Future! • Louis Pilfold @ FOSDEM 2024. In: YouTube. 7. Februar 2024, abgerufen am 23. Oktober 2024 (englisch).
- ↑ Release v1.5.1. In: GitHub. 26. September 2024, abgerufen am 23. Oktober 2024 (englisch).
- ↑ Paul Krill: Gleam language available in first stable release. In: Infoworld. 5. März 2024, abgerufen am 23. Oktober 2024 (englisch).
- ↑ Louis Pilfold: Introducing the Gleam package index. In: Gleam.run. 30. April 2024, abgerufen am 23. Oktober 2024 (englisch).
- ↑ Louis Pilfold: What’s Gleam? In: Gleam.run. 15. April 2019, abgerufen am 23. Oktober 2024 (englisch).
- ↑ Louis Pilfold: v0.16 - Gleam compiles to JavaScript! In: Gleam.run. 17. Juni 2021, abgerufen am 23. Oktober 2024 (englisch).
- ↑ 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).
- ↑ Louis Pilfold: Gleam version 1. In: Gleam.run. 4. März 2024, abgerufen am 23. Oktober 2024 (englisch).
- ↑ Gleam GitHub. In: GitHub. Abgerufen am 23. Oktober 2024 (englisch).