Mruby - More info?

Where can I find more info. about mruby?

It hit me out of the blue…

GitHub:
GitHub - mruby/mruby: Lightweight Ruby

YouTube Keynote:
Matz "mruby - Minimalistic Ruby and Its Possibility" 1 - YouTube

More info please!

Aaron out.

YouTube Keynote:
Matz "mruby - Minimalistic Ruby and Its Possibility" 1 - YouTube

I guess I missed that in Nov. 2011… So seeing it up on GitHub today
whetted my interest.

Aaron out.

Speaking of mruby… Does MacRuby run on iOS?

On 21/04/2012, at 12:03 PM, Intransition wrote:

Speaking of mruby… Does MacRuby run on iOS?

Not yet but that’s pretty high priority.

Henry

Hmm, pretty impressive startup time:

$ cat testing.rb
5.times do
puts “hello world”
end
$ time bin/mruby testing.rb
hello world
hello world
hello world
hello world
hello world

real 0m0.004s
user 0m0.001s
sys 0m0.002s

And it compiles to some sort of ASCII byte-code:

$ bin/mrbc testing.rb
$ cat testing.mrb
RITE0009000000090000MATZ 00090000000000D600020000
067A0000005FSC0002000400046F28000000040140020301800340010000200000004AC251000000000000000000010005times94E700000077SC0002000400046F2800000005010000060180003D02000005010000A001000029C655000000010F000Bhello
world3304000000010004puts248900000000
$ time bin/mruby -b testing.mrb
hello world
hello world
hello world
hello world
hello world

real 0m0.003s
user 0m0.001s
sys 0m0.001s

And it compiles to obfuscated C:

$ bin/mrbc -Ctesting testing.rb
$ cat testing.c
#include “mruby.h”
#include “mruby/irep.h”
#include “mruby/string.h”
#include “mruby/proc.h”

static mrb_code iseq_0[] = {
0x01400203,
0x01800340,
0x01000020,
0x0000004a,
};

static mrb_code iseq_1[] = {
0x01000006,
0x0180003d,
0x02000005,
0x010000a0,
0x01000029,
};

void
testing(mrb_state *mrb)
{
int n = mrb->irep_len;
int idx = n;
mrb_irep *irep;

mrb_add_irep(mrb, idx+2);

irep = mrb->irep[idx] = mrb_malloc(mrb, sizeof(mrb_irep));
irep->idx = idx++;
irep->flags = 0 | MRB_ISEQ_NOFREE;
irep->nlocals = 2;
irep->nregs = 4;
irep->ilen = 4;
irep->iseq = iseq_0;
irep->slen = 1;
irep->syms = mrb_malloc(mrb, sizeof(mrb_sym)*1);
irep->syms[0] = mrb_intern(mrb, “times”);
irep->plen = 0;
irep->pool = NULL;

irep = mrb->irep[idx] = mrb_malloc(mrb, sizeof(mrb_irep));
irep->idx = idx++;
irep->flags = 0 | MRB_ISEQ_NOFREE;
irep->nlocals = 2;
irep->nregs = 4;
irep->ilen = 5;
irep->iseq = iseq_1;
irep->slen = 1;
irep->syms = mrb_malloc(mrb, sizeof(mrb_sym)*1);
irep->syms[0] = mrb_intern(mrb, “puts”);
irep->plen = 1;
irep->pool = mrb_malloc(mrb, sizeof(mrb_value)*1);
irep->pool[0] = mrb_str_new(mrb, “hello world”, 11);

mrb->irep_len = idx;

extern mrb_value mrb_top_self(mrb_state *mrb);
mrb_run(mrb, mrb_proc_new(mrb, mrb->irep[n]), mrb_top_self(mrb));
}

Hi,

In message “Re: mruby - More info?”
on Fri, 25 May 2012 23:12:06 +0900, Marc H.
[email protected] writes:

|My question however is for mRuby “end goal”.
|
|Would it be correct to assume and say that mRuby is very similar to Lua?
|That it could also be used and embedded in C++ game engines like Lua?

Yes.

          matz.

I understand that it is at a very early stage and many things will have
to be fixed or added before mRuby is considered “public release” ready,
i.e. work in production code.

My question however is for mRuby “end goal”.

Would it be correct to assume and say that mRuby is very similar to Lua?
That it could also be used and embedded in C++ game engines like Lua?

As a complement to the existing basic *nix Makefiles, a new CMake-based
multi-platform build system has recently landed:

Add CMake build infrastructure by jonforums · Pull Request #182 · mruby/mruby · GitHub

Prerequisites: CMake 2.8.8, Bison, and a build toolchain.

CMake has been tested on the following systems

Home · mruby/mruby Wiki · GitHub

and may even work on other systems supported by the CMake generators.

Yes, you read that correctly…cross compiles, Arch 3.3.6, Ubuntu 12.04,
OS X Lion and Snow Leopard, and Windows using WinSDK/nmake, Visual
Studio 10, WinSDK/msbuild, and mingw/mingw-w64.

But the CMake generated Xcode project files don’t yet build OS X or iOS
targets. It’s being looked into and could use some extra help.

Blame it on the guy who wrote the CMakeLists.txt’s who doesn’t have a
Mac :wink:

http://groups.google.com/group/thecodeshop/browse_thread/thread/60c7e621071a31eb

Jon

Unsuscribe

El 25/05/2012, a las 21:16, Jon F. [email protected] escribió:

Until mruby’s Home · mruby/mruby Wiki · GitHub wiki
page gets some more content, here’s a couple intro posts on using CMake.

http://jonforums.github.com/ruby/2012/05/09/cmake-prototype-for-mruby.html

http://jonforums.github.com/ruby/2012/05/13/cross-compiling-mruby.html

Jon

Unsuscribe

Enviado desde mi iPhone

El 25/05/2012, a las 21:16, Jon F. [email protected] escribió:

Unsuscribe

Enviado desde mi iPhone

El 25/05/2012, a las 21:16, Jon F. [email protected] escribió: