## 100%互換性重視mruby vm をスクラッチで実装した --- ## 自己紹介 ![[heipu-0-1.png|263x263]] [@hadashiA](https://x.com/hadashiA) https://hadashikick.land --- ## 好きな言語 C# - [hadashiA/VContainer](https://github.com/hadashiA/VContainer) ★2.4k - [hadashiA/VYaml](https://github.com/hadashiA/VYaml) ★400 - [hadashiA/VitalRouter](https://github.com/hadashiA/VitalRouter) ★300 - [hadashiA/VKV](https://github.com/hadashiA/VKV) - [hadashiA/MRubyCS](https://github.com/hadashiA/MRubyCS) - etc --- ## C# の現在 - モダンサーバランタイム - Linux ファースト - 直でOCIコンテナイメージ焼けるぞみんな - 最高レベルの低レイテンシ/ 高スループット - いつかのgrpcベンチではRustに勝利 - きいてるかみんな - http/1,2,3 装備 --- ## C# の現在 - Linux/macOS/Windows クロスプラットフォームSDK - ゲーム/GUI - 高速なコンパイル - 最高確度の静的解析/code fix/デコンパイラ --- [hadashiA/MRubyCS](https://github.com/hadashiA/MRubyCS) - ゲームなどアプリケーションへのRuby組み込みを想定した mruby 実装 - mruby 全オペコードサポート - Ruby型システムと全シンタックス/制御フローのサポート - 全組み込みクラス/メソッドをサポート --- ![[screenshot_matz_oh.webp|400]] --- C#で書かれているということは…? - windows - macOS - Linux - iOS - Android - Unity - Nintendo Switch / Xbox / PlayStation …でノービルドでmrubyが動く --- なぜスクラッチでmruby vm を実装したか? --- 現代的なクロスビルドとかけはなれすぎ --- アプリケーションへの組み込み用途が… ---- 実装上の苦労 - 制御フローが大変だ - 大変すぎる --- どうやって互換性を高めたか --- Fiber