Gleam (programming language): Difference between revisions

Content deleted Content added
m Convert refs to cs1 for uniformity
Line 11:
| logo = [[File:Gleam Lucy.png|frameless]]
| logo size = 128px
| logo caption = Lucy, the starfish mascot for Gleam<ref>{{cite web | url=https://github.com/gleam-lang/gleam/issues/2551 | title=gleam-lang/gleam Issues - New logo and mascot #2551| website=[[GitHub]]}}</ref>
| paradigm = [[Multi-paradigm programming language|Multi-paradigm]]: [[functional programming|functional]], [[concurrent programming|concurrent]]<ref name="Homepage">{{cite web | url=https://gleam.run/ | title=Gleam Homepage|date=2024}}</ref>
| year = {{start date and age|2016|6|13}}
Line 21:
| memory management = [[Garbage collection (computer science)|Garbage collected]]
| programming language = [[Rust (programming language)|Rust]]
| dialects =
| influenced_by = {{cslist|
Alpaca|
Line 31:
[[OCaml]]|
[[Rust (programming language)|Rust]]|
}}<ref>{{ cite journal | url=https://www.youtube.com/watch?v=clsTrQUt-4M&t=304 | date=2024-02-07 | title=Gleam: Past, Present, Future! | first=Louis | last=Pilfold | journal=Fosdem 2024 | via=YouTube }}</ref>
| influenced =
| operating_system = [[FreeBSD]], [[Linux]], [[macOS]], [[OpenBSD]], [[Windows]]<ref>{{cite web|url=https://gleam.run/getting-started/installing/|title=Installing Gleam|date=2024}}</ref>
| license = [[Apache License 2.0]]<ref>{{cite web|url=https://github.com/gleam-lang/gleam/blob/main/LICENCE|title=Gleam License File|website=[[GitHub]] |date=5 December 2021}}</ref>
Line 38:
| website = {{URL|https://gleam.run/}}
}}
 
'''Gleam''' is a [[General-purpose programming language|general-purpose]], [[concurrent computing|concurrent]], [[Functional programming|functional]] [[High-level programming language|high-level]] [[programming language]] that compiles to [[Erlang (programming language)|Erlang]] or [[JavaScript]] source code.<ref name="Homepage" /><ref>{{cite news | url=https://www.infoworld.com/article/3713460/gleam-language-available-in-first-stable-release.html | title=Gleam language available in first stable release | first=Paul | last=Krill | work=InfoWorld | date=5 March 2024 | access-date=26 March 2024}}</ref><ref name="eastman">{{cite news | url=https://thenewstack.io/introduction-to-gleam-a-new-functional-programming-language/ | title=Introduction to Gleam, a New Functional Programming Language | first=David | last=Eastman | work=The New Stack | date=2024-06-22 | access-date=2024-07-29}}</ref>
 
Gleam is a statically-typed language,<ref>{{cite news | url=https://www.infoq.com/news/2024/03/gleam-erlang-virtual-machine-1-0/ | title=Erlang-Runtime Statically-Typed Functional Language Gleam Reaches 1.0 | first=Sergio | last=De Simone | work=InfoQ | date=16 March 2024 | access-date=26 March 2024}}</ref> which is different from the most popular languages that run on Erlang’s virtual machine [[BEAM (Erlang virtual machine)|BEAM]], [[Erlang (programming language)|Erlang]] and [[Elixir (programming language)|Elixir]]. Gleam has its own type-safe implementation of OTP, Erlang's actor framework.<ref>{{Cite AV media |url=https://www.youtube.com/watch?v=WaHx6n2UZJg |title=Getting to know Actors in Gleam - Raúl Chouza | series=Code BEAM America | date=2024-03-27 |language=en |access-date=2024-05-06 |via=YouTube}}</ref> Packages are provided using the Hex package manager, and an index for finding packages written for Gleam is available.<ref>{{Cite web |title=Introducing the Gleam package index – Gleam |url=https://gleam.run//news/introducing-the-gleam-package-index/ |access-date=2024-05-07 |website=gleam.run |language=en-GB}}</ref>
 
== History ==
The first numbered version of Gleam was released on April 15, 2019.<ref>{{Cite web |title=Hello, Gleam! – Gleam |url=https://gleam.run//news/hello-gleam/ |access-date=2024-05-06 |website=gleam.run |language=en-GB}}</ref> Compiling to JavaScript was introduced with version v0.16.<ref>{{Cite web |title=v0.16 - Gleam compiles to JavaScript! – Gleam |url=https://gleam.run//news/v0.16-gleam-compiles-to-javascript/ |access-date=2024-05-07 |website=gleam.run |language=en-GB}}</ref>
 
In 2023 the Erlang Ecosystem Foundation funded the creation of a course for learning Gleam on the learning platform [[Exercism]].<ref>{{Cite web |last=Alistair |first=Woodman |date=December 2023 |title=Erlang Ecosystem Foundation Annual General Meeting 2023 Chair's Report |url=https://erlef.org/public_records/}}</ref>
Line 86 ⟶ 87:
 
== Implementation ==
Gleam's toolchain is implemented in the [[Rust (programming language)|Rust programming language]].<ref>{{CitationCite web |title=gleam-lang/gleam |date=2024-05-06 |url=https://github.com/gleam-lang/gleam |access-date=2024-05-06 |publisher=Gleam}}</ref> The toolchain is a single native binary executable which contains the compiler, build tool, package manager, source code formatter, and [[Language Server Protocol|language server]]. A [[WebAssembly]] binary containing the Gleam compiler is also available, enabling Gleam code to be compiled within a web browser.
 
== References ==
Line 108 ⟶ 109:
[[Category:Software using the Apache license]]
[[Category:Statically typed programming languages]]
 
 
{{prog-lang-stub}}