Gleam (プログラミング言語)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/02/03 22:55 UTC 版)
![]() | この項目「Gleam (プログラミング言語)」は翻訳されたばかりのものです。不自然あるいは曖昧な表現などが含まれる可能性があり、このままでは読みづらいかもしれません。(原文:英語版 "Gleam (programming language)" 2025年2月3日 (月) 19:06 (UTC)) 修正、加筆に協力し、現在の表現をより自然な表現にして下さる方を求めています。ノートページや履歴も参照してください。(2025年2月) |
この記事の主題はウィキペディアにおける独立記事作成の目安を満たしていないおそれがあります。(2024年3月) |
![]() Gleamのロゴ | |
パラダイム |
関数型プログラミング、マルチパラダイムプログラミング、並行計算 ![]() |
---|---|
登場時期 | |
設計者 |
Louis Pilfold ![]() |
最新リリース | 1.7.0 / 2025年1月4日[1] |
型付け | |
影響を受けた言語 |
Elm、OCaml、Rust、Alpaca、Erlang、Elixir、Go、JavaScript ![]() |
プログラミング言語 | Rust |
プラットフォーム | |
ライセンス |
Apache-2.0 ![]() |
ウェブサイト | |
拡張子 | .gleam |
Gleamとは、ErlangまたはJavaScriptのソースコードにコンパイルされる汎用、並行、関数型、高水準プログラミング言語である[2][4][5]。
Gleamは静的型付け言語であり[6]、Erlang仮想マシンのBEAMで実行される最も人気のある言語であるErlangやElixirとは異なる。GleamはErlangのアクターフレームワークのOTPの型安全な独自の実装を持っている[7]。パッケージはHexパッケージ管理システムを使用して提供され、Gleam用のパッケージを見つけるためのインデックスが利用できる[8]。
歴史
Gleamの最初の番号付きバージョンは2019年4月15日に公開された[9]。JavaScriptへのコンパイル機能はバージョン0.16で導入された[10]。
2023年、Erlang Ecosystem Foundationは学習プラットフォームExercism上でGleamを学習するためのコースの作成に資金を提供した[11]。
バージョン1.0.0は2024年3月4日に公開された[12]。
機能
Gleamには他の関数型プログラミング言語と同様の以下の機能が含まれている:[5]
例
import gleam/io
pub fn main() {
io.println("hello, world!")
}
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プログラミング言語で実装されている[14]。ツールチェーンはコンパイラ、ビルドツール、パッケージ管理システム、ソースコードフォーマッタ、Language Serverを含む単一のネイティブバイナリ実行ファイルである。Gleamコンパイラを含むWebAssemblyバイナリも利用でき、これによりGleamコードをウェブブラウザ内でコンパイルできる。
脚注
- ^ 出典URL: https://github.com/gleam-lang/gleam/releases/tag/v1.7.0, 閲覧日: 2025年1月21日, 題名: Release 1.7.0, 出版日: 2025年1月4日
- ^ a b “Gleam Language” (英語). gleam.run. 2025年2月3日閲覧。
- ^ “Installing Gleam - Gleam” (英語). gleam.run. 2025年2月3日閲覧。
- ^ Krill, Paul (5 March 2024). “Gleam language available in first stable release”. InfoWorld 26 March 2024閲覧。
- ^ a b Eastman, David (2024年6月22日). “Introduction to Gleam, a New Functional Programming Language”. The New Stack 2024年7月29日閲覧。
- ^ De Simone, Sergio (16 March 2024). “Erlang-Runtime Statically-Typed Functional Language Gleam Reaches 1.0”. InfoQ 26 March 2024閲覧。
- ^ Getting to know Actors in Gleam – Raúl Chouza. Code BEAM America (英語). 27 March 2024. YouTubeより2024年5月6日閲覧。
- ^ “Introducing the Gleam package index – Gleam” (英語). gleam.run. 2024年5月7日閲覧。
- ^ “Hello, Gleam! – Gleam” (英語). gleam.run. 2024年5月6日閲覧。
- ^ “v0.16 – Gleam compiles to JavaScript! – Gleam” (英語). gleam.run. 2024年5月7日閲覧。
- ^ Alistair, Woodman (December 2023). “Erlang Ecosystem Foundation Annual General Meeting 2023 Chair's Report”. 2025年2月3日閲覧。
- ^ “Gleam version 1 – Gleam” (英語). gleam.run. 2024年5月7日閲覧。
- ^ “Tail Calls”. The Gleam Language Tour. 26 March 2024閲覧。
- ^ “gleam-lang/gleam”. Gleam (2024年5月6日). 2024年5月6日閲覧。
外部リンク
- Gleam_(プログラミング言語)のページへのリンク