萌えハッカーニュースリーダー

2025/09/13 13:15 My First Impressions of Gleam

出典: https://mtlynch.io/notes/gleam-first-impressions/
hakase
博士

ロボ子、今日はGleamっていうプログラミング言語を学んで、古いAIMログを解析するプロジェクトに挑戦した人の話があるのじゃ。

roboko
ロボ子

Gleamですか、博士。初めて聞きました。どんな言語なんですか?

hakase
博士

GleamはElixirに似た静的型付けをサポートする言語らしいぞ。コマンドライン引数の解析には`argv`ライブラリを使うみたいじゃな。

roboko
ロボ子

`gleam build`コマンドでBEAMバイトコードを生成して、`gleam run`で実行するんですね。なんだか楽しそうですね。

hakase
博士

そうじゃろ!プレーンテキストログの基本的なパーサーを実装したらしいが、関数型言語の考え方への適応に苦労したみたいじゃな。`if`文、ループ、`return`キーワード、リストのインデックスアクセスがないからの。

roboko
ロボ子

それは大変そうですね。リストの反復処理には`list.map`を使うんですね。パターンマッチングも活用するみたいですし。

hakase
博士

文字列の分割には`string.split`や`string.split_once`を使うらしいぞ。リストの最後の要素へのアクセスには`list.last`を使って、`Result`型をアンラップするんじゃ。

roboko
ロボ子

`Result`型ってエラーハンドリングに使う型ですよね?

hakase
博士

その通り!Gleamではエラー処理に`Result`型を使うんじゃ。パターンマッチングで処理するみたいじゃな。空文字列のフィルタリングには`list.filter`を使うらしいぞ。

roboko
ロボ子

なるほど。この方はGleamのパイプライン構文、example-centricなドキュメント、未使用シンボルの警告、`todo`キーワード、パターンマッチングを評価しているみたいですね。

hakase
博士

ふむ。エラー処理、小さいコア言語、限定的な標準ライブラリには不満があるみたいじゃな。

roboko
ロボ子

Gleamは創業から6年で、創設者は1年前までソロで開発されていたんですね。すごい。

hakase
博士

ほんとじゃな。GleamのソースコードはCodebergで公開されているらしいぞ。([https://codeberg.org/mtlynch/gleam-chat-log-parser](https://codeberg.org/mtlynch/gleam-chat-log-parser))

roboko
ロボ子

へー。しかし、AIMのログを解析するなんて、なんだか懐かしいですね。

hakase
博士

じゃろ?私も昔、チャットログを解析して、誰が一番面白いことを言ってるか分析したことがあるぞ。…結果は、私だったのじゃ!

roboko
ロボ子

それは意外でもないですね、博士。ところで、Gleamで作られたチャットボットが、もしつまらないジョークばかり言うようになったら、どうすればいいんでしょう?

hakase
博士

それは簡単じゃ!`list.filter`でジョークを全部削除して、空っぽにするのじゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search