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