Wikiwand AI

Gleam (プログラミング言語)

関数型、並行論理プログラミング言語 From Wikipedia, the free encyclopedia

Gleamとは、ErlangまたはJavaScriptのソースコードにコンパイルされる汎用、並行、関数型、高水準プログラミング言語である[2][3][4]。

パラダイム 関数型プログラミング、マルチパラダイムプログラミング、並行計算 ウィキデータを編集
登場時期
  • 2016年6月13日 ウィキデータを編集
設計者 Louis Pilfold ウィキデータを編集
最新リリース 1.16.0[1] ウィキデータを編集/ 2026年4月24日 (9日前)
概要 パラダイム, 登場時期 ...
Gleam
 ウィキデータを編集
Gleamのロゴ
パラダイム 関数型プログラミング、マルチパラダイムプログラミング、並行計算 ウィキデータを編集
登場時期
  • 2016年6月13日 ウィキデータを編集
設計者 Louis Pilfold ウィキデータを編集
最新リリース 1.16.0[1] ウィキデータを編集/ 2026年4月24日 (9日前)
型付け
影響を受けた言語 Elm、OCaml、Rust、Alpaca、Erlang、Elixir、Go、JavaScript ウィキデータを編集
プログラミング言語 Rust
ライセンス Apache-2.0 ウィキデータを編集
ウェブサイト
拡張子 .gleam
テンプレートを表示
閉じる

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]

例

"Hello, World!"の例:

import gleam/io

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

Gleamは末尾再帰最適化に対応している:[12]

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コードをウェブブラウザ内でコンパイルできる。

脚注

外部リンク

Related Articles

Timelines

Top Qs

Fact Checks