Gleam
https://gleam.run/
https://github.com/gleam-lang/gleam
特徴
静的型付けの関数型プログラミング言語
Rust に Elixir と GC を混ぜたようなイメージの言語 radish-miyazaki.icon
2018 年生まれとめちゃくちゃ新しい
コンパイラ は Rust で書かれており、BEAM (ErlangVM)上で動作する
BEAM (ErlangVM)
Elarng のバイナリ(beam ファイル)にコンパイルする
Elixir や LFE と同じ
JavaScript のコードも出力可能なので、JS runtime 上でも動作する
以下の環境での動作をサポート: /gleam-jp/JS runtime
Node.js
Deno
Bun
同じ BEAM 上で動作する言語(e.g. Elixir)と高い親和性を持つ
Go や Rust のように、プリミティブな機能が標準ライブラリに含まれている
アイコンが ゆめかわ radish-miyazaki.icon
ファイル名を見る限り Lucy って名前っぽい
https://gleam.run/images/lucy/lucyhappy.svg
あざとい radish-miyazaki.icon
https://gleam.run/images/lucy/lucy.svg
2024年3月4日に、めでたく正式バージョン( v1.0.0 )がリリースされた
https://github.com/gleam-lang/gleam/releases/tag/v1.0.0
https://gleam.run/news/gleam-version-1/
https://www.infoq.com/jp/news/2024/03/gleam-erlang-virtual-machine-1-0/
https://zenn.dev/mzryuka/scraps/2a443bacb14cff
分かってたけどハイライト付かない…
code:hello.gleam
import gleam/io
import gleam/string
pub fn main() {
// Use a function from the gleam/io module
io.println("Hello, Mike!")
// Use a function from the gleam/string module
io.println(string.reverse("Hello, Joe!"))
}
ドキュメント
公式ドキュメント: https://gleam.run/
Gleam Launguage Tour: https://tour.gleam.run/
Go でおなじみの形式 radish-miyazaki.icon
Playground: https://johndoneth.github.io/gleam-playground/
パッケージ: https://packages.gleam.run/
Rust と同じように TOML ファイルで管理
日本コミュニティ: /gleam-jp
Awesome: https://github.com/gleam-lang/awesome-gleam
まさかの公式
パッケージ
一番人気の Web アプリケーションは wisp っぽい
https://github.com/gleam-wisp/wisp
https://gleam-wisp.github.io/wisp
これ Gleam と開発者同じだ…
Database 操作はどうするか
https://github.com/gleam-lang/awesome-gleam?tab=readme-ov-file#databases
https://github.com/lpil/pgo
PostgreSQL のクライアント
参考記事
https://zenn.dev/comamoca/articles/gleam-tour-for-typescript-user
https://zenn.dev/mzryuka/articles/start-gleam_playground
https://note.com/taro_yamashita/n/ndf3b93a4ccfe
https://zenn.dev/helloyuki/scraps/4569649537e13c
https://techbookfest.org/product/3J3Jqx3hzAg4MpCP5WGxgN?productVariantID=6aZG6R2ddDXaeA9ue2nqAj
https://techbookfest.org/product/v1UACL80ppq5upN9Wd1Xqk
https://qiita.com/debiru/items/200dacd7ceef8b3beae6
#FP #プログラミング言語