This articles was published on 2012-06-16

[CW 24] mruby news

What happened this week on the mruby front?

No Eval

After a request of Masaki Muranaka the non-functional code of eval was removed from mruby. Herewith it should be clear that this kind of feature won’t be inside of the mruby-core.

Commit

New Exception

To indicate that some features won’t be ever implemented inside of the mruby-core the new Exception NotImplementedError was implemented as a sub-class of ScriptError.

Commit

Improve customization

An important mruby feature from my point of view is the focus of customization. For this, mruby provides include/mrbconf.h which provides the possibility to customize the following options:

  • Use Float instead of Double
  • Disable/Enable Regexp
  • Disable/Enable sprintf
  • Disable/Enable Math
  • Disable/Enable Time
I would wish to also have the possibility in the future to even cut out other classes out of the mruby-core for very specific tasks easily. By now I’m doing this by just deleting the fitting code file inside of src or mrblib, but of course this could have some side-effects which you have to check.

Commit Math, Commit Time, Commit sprintf

Test improvement

Another commit of Masaki Muranaka improves the test framework which I had previously added to mruby. On his Twitter account he is complaining that the test coverage is less than sufficient at the moment. I completely agree with this statement. The basic problem is of course that mruby wasn’t test-driven developed but is partly based on the CRuby source code. I think the only way to improve this situation is by adding one test at a time for a very long time. Slowly we will get a sufficient coverage in that way. Already now some people reporting bugs based on the mrbtest tool.

Another construction area would be an additional test environment in mruby which is covering the C API of mruby. I hope that there will be a fruitful discussion about this.

Commit