Skip to content

Proposal for the Grant Program 2021 of Ruby Association

HASUMI Hitoshi edited this page Sep 15, 2021 · 5 revisions

Applicant name (individual or organization)

  • Monstarlab

Contact person

  • Hasumi Hitoshi

Brief biography

Project title

  • picoruby-compiler: An alternative mruby-compiler

Project summary

ja

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

en

The PicoRuby compiler adopted for the RA Grant 2020 has achieved great success and has been integrated with mruby/c to become a Ruby interpreter implementation "PicoRuby" for one-chip microcontrollers. On the other hand, the memory-saving performance, which is a feature of the PicoRuby compiler, is considered to be advantageous in integration with mruby. The goal of this project is to reorganize the source code and to prepare necessary APIs so that PicoRuby compiler becomes a module that can be used as an alternative compiler for mruby.

Project details

Outline

  • Making an alternative mruby-compiler which is:
    • Smaller footprint than mruby-compiler
    • Pluggable and suitable for both mruby and mruby/c

Background

  • I am developing PicoRuby compiler. Part of it is an outcome of the RA Grant last year
  • It is reaching a practical level and working with mruby/c VM as "PRK Firmware" which is a keyboard firmware framework
  • Would be great if picoruby-compiler could easily work with also mruby

Scope of the project

  • Making an mrbgem named "picoruby-compiler" that can be bundled in an mruby project
    • It should be easy to be integrated with mruby/c, too
  • This development will mainly focus on:
    • Reorganizing source code dependency
    • Making proper API that works in mirb
    • Kernel#eval should also work though, I'm not sure if it is possible so far

Project deliverables