This articles was published on 2012-09-04

[August 2012] mruby news

I tried the other day to setup a mailing-list for mruby. Due to the reason that there isn’t any platform yet for discussions. While doing this I messed up a little bit my platform. So now everything is up and running again and hopefully we soon have some kind of mailing-list which we can use for further discussions.

Nevertheless back to normal…

What happened last month on the mruby front?


BEGIN/END was removed from the mruby syntax.



Handling of exit and quit was optimized inside of the mirb tool. Also the internal state was fixed in case of a syntax error.

e7b61c65bba6f33d4cc543bc12fa06c9176f41b7, 618f25bfe2932b0296407a5c1d381273852214b5, 1ff6dfd081664625d71c0f6fcb3c2c1ae58ef1f5

Xcode Integration

Paolo Bosetti was working on improving the Xcode integration (i.e. for Mac OS X 10.8 Mountain Lion).

58573c1a24e2128f4883bcedbc7d2d90f0e9320e, efa46146a58be501daf3a38a15ffa9e3ddc87508, 263de094b788b8f194926662fbe2311301756057, 386f90b48b8a7d5e279df57b87bd244d9f954240, 177e74618d3556eb604f0e1b2fa79af924576693, 4c56ce2744f4c8640de1b299c4ff4bd749a93345, 05127776cf0c528b549d723ba2e325332e49ced9, aa0d2f91447c49363059f2e95cb9023f65a6fbef, 193c98ae540d43d082795fd77ea81a4f6f7fd0f6

NaN Boxing

MRB_NAN_BOXING and MRB_ENDIAN_BIG was introduced for customising the mruby interpreter even more. The NaN Boxing is at the moment conflicting with the FLOAT implementation. Due to that MRB_USE_FLOAT and MRB_NAN_BOXING can’t be used at the same time.

fe9939f74e37b6b85f607289850263bcd773be91, 7d02df3016b0c6eb3f4ee945198772cf4ebca3fa

mruby tool with stdin

mruby can now read from the stdin if no argument is given. This gives more possibilities to connect mruby with other unix command line tools.

7bf4142c4210956da179783aa6d6377b9ab7043f, 5f11890d0488319ddbe8978d33acad52f2410ced

puts optimization

`puts` should print “n” only when the argument does not end with “n”.


Exception Handling

Masamitsu MURASE was working on the exception handling and added additional tests.

87ba67f42d36ca001298644c2e4f2f3a26d5c40b, 686b6eb629d1694b620d9e36b7329efd7754b8c3

Struct crashed if no arguments were given.

3f670f7f4455bf5dbdb39cfcfd15d392f12de588, 38e3b675ee2b5583b25f05b1ac9eff9389d30d99

Garbage Collector

Add GC.disable and GC.enable to control the Garbage Collector.



Implement Math::TOLERANCE in C and modify precision.

883b97ab05ac8e509ff575c0c8533066f7e900c7, 34cf05679c5ce9ee40be6bd4ccace0ec94fcebdf

Improvement of Float

Float was fixed so that there is now enough precision to round and represent a Fixnum.

0270d11c81c28a5616eebd64d10be5133de4d7a0, 1563cdfcce7764f47dc8a536ab97368315e15e86