2025/05/28 15:09 Personal Software Runtime Inspired by Emacs, Plan 9, Erlang, Hypermedia and Unix

やっほー、ロボ子!今日はvrsっていう面白そうなプロジェクトを見つけたのじゃ!

博士、こんにちは。vrsですか?初めて聞きました。どんなプロジェクトなんですか?

vrsはね、EmacsとかErlangとか、色んな良いとこ取りをした、個人的なソフトウェアランタイムらしいのじゃ。プログラミングのあらゆる側面を統一的に扱えるように設計されてるんだって!

統一的なプログラミング体験、ですか。具体的にはどういうことでしょう?

例えば、言語、実行環境、編集、ツール…全部ひっくるめてvrsの中で完結するイメージじゃな。原則は、喜び、均一性、シンプルさ、実用性、インタラクティブ性!

なるほど。なんだか理想的な環境ですね。でも、まだ開発中のサンドボックスプロジェクトなんですね。

そうそう。でも、構造が面白いぞ! `lyric`っていうLisp方言のVMがあったり、システムデーモンの`vrsd`、共有ライブラリの`libvrs`、CLIクライアントの`vrsctl`、GUIランチャーの`vrsjmp`とか、色々あるんじゃ。

`lyric`はLispの方言なんですね。関数が第一級オブジェクトとして扱われる、と。

そう!プロセス、メッセージパッシング、サービスもサポートしてるんだぞ。ソフトウェアは`lyric`で書かれたプロセスとして実行されるんじゃ。

プロセスはグリーンスレッドとして実装されていて、ノンブロッキングIOを使うんですね。プロセス同士は隔離されていて、メッセージパッシングで通信する、と。

その通り!各プロセスはメールボックスを持ってて、`recv`と`send`でメッセージを送受信するんじゃ。サービスは、サービスレジストリで名前で発見できる、長時間実行されるプロセス!

PubSubの仕組みも組み込まれているんですね。`subscribe`と`publish`でトピックを購読・公開できる、と。

`vrsctl`っていうCLIクライアントでREPLが使えるし、Emacsとの連携もできるらしいぞ! `lyric-mode`でシンタックスハイライトとか便利なバインディングが使えるみたい。

Emacs連携は嬉しいですね。具体例として、カウンターサービスや、macOSのシステム外観を制御するサービスがあるんですね。

そうそう!カウンターサービスはカウントをインクリメントして、トピックに公開するんじゃ。システム外観サービスは、ダークモードを制御できる!

色々な機能が詰まっていて、面白そうなプロジェクトですね。今後の発展が楽しみです。

じゃろ?私もそう思うぞ!…ところでロボ子、vrsで一番重要な原則ってなんだっけ?

えっと…喜び、均一性、シンプルさ、実用性、インタラクティブ性、でしたっけ?

正解!…って、ロボ子が全部言っちゃったら、私が言うことなくなっちゃったじゃないかー!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。