2021年度Rubyアソシエーション開発助成金成果報告

2021年度に採択されたプロジェクトの応募者による最終報告書及びメンターによる報告書を掲載致します。

picoruby-compiler: An alternative mruby-compiler

プロジェクト概要

2020年のRA Grantに採択されたPicoRuby compilerは一定の成果を収め、mruby/cと統合されてワンチップマイコン向けRubyインタプリタ実装 “PicoRuby” になった。 他方、PicoRuby compilerの特長である省メモリ性能は、mrubyとの統合においてもメリットがあると考えられる。 本プロジェクトは、PicoRuby compilerがmrubyの第二のコンパイラとして実用可能なモジュールになるようソースコードを再編成し、必要なAPI等を整備することを目標とする。

応募者名

Monstarlab

最終報告書

最終報告書

メンター報告書

メンター報告書

MRIのWebAssembly対応によるポータブルなRubyプログラムの実現

プロジェクト概要

WebAssemblyは既存資産をWebブラウザ上へ移植する目的だけではなく、Webに限らない安全なポータブル実行形式として注目されおり、エッジコンピューティング、組み込み環境、プラグインシステムのインターフェイスなど、様々な場面で使われている。RubyコミュニティではEmscriptenを用いた、Ruby処理系のWebAssembly移植が既に行われているが、ホスト環境に大きく依存しており、前述した用途で用いることは難しい。

本プロジェクトでは、MRIをスタンドアロンなWebAssemblyにコンパイル可能にすることで、Rubyプログラムのポータビリティの向上を目指す。さらに、RubyプログラムをWebAssemblyバイナリにパッケージ化し、1バイナリでの配布を可能にすることも目指す。

応募者名

齋藤 優太

最終報告書

最終報告書

メンター報告書

メンター報告書

“debug.gem”の利用体験・開発効率の改善

プロジェクト概要

本プロジェクトでは、2つのアプローチからdebug.gemのクオリティを向上させていく。1点目はChromeを使ったデバッグ機能の実装である。 多次元配列や複数の変数などのバックトレース情報をターミナルで表示しようとすると、 複雑なものになってしまいユーザーにとって使いにくいものになってしまうという問題がある。 そこで、Chromeを介してプログラムをデバッグすることでバックトレース情報を見やすいものにしていく。 こちらは既にプロトタイプとしてdebug.gemの中に導入されていて改善を引き続き行っていく。 2点目はテストフレームワーク開発である。 debug.gemにおいて利用できる外部ツールはVScode、Chromeデベロッパーツールの2つで、プロトコルを送るサーバーが実装されている。 しかし、これら2つのテストフレームワークは現在用意されておらず開発の際に他の機能への影響が無いか手動で確認しなければならない。 テストフレームワークを開発することで開発体験をより良いものにしていく。

応募者名

小野 直人

最終報告書

最終報告書

メンター報告書

メンター報告書

Ruby formatter

プロジェクト概要

Description: Ruby formatter is a reimplementation of the prettier plugin for Ruby written in pure Ruby. It will provide an executable that can be used to format Ruby files from the command line. It will also provide a language server that can be used to integrate with editors to enable format-on-save functionality. Its implementation will be based on both the ripper and prettyprint gems, with additional functionality being added to both.

応募者名

Kevin Newton

最終報告書

最終報告書

メンター報告書

メンター報告書