10 Nov
Playing with Mirah
Mirah (formally duby) is pretty freaking cool. Plans are to scrap java and use mirah for future android development, we'll see. Here's a rough example of some pretty basic mirah.
To get started, you'll need jruby and the mirah gem:
rvm install jruby rvm use jruby (or put in your .rvmrc) gem install mirah
Then create an example:
puts "hello world!!" 500.times do |x| puts x end
Time in ruby:
time ruby test.mirah
...
=> .457s
Compile to Java and time:
mirahc test.mirah time java Test
....
=> .081s
Less than 1/5 the time and it compiles to Java ... neat 🙂
mirahc -j test.mirah
// Generated from test.mirah
public class Test extends java.lang.Object {
public static void main(java.lang.String[] argv) {
int __xform_tmp_1 = 0;
int __xform_tmp_2 = 0;
int x = 0;
java.io.PrintStream temp$1 = java.lang.System.out;
temp$1.println("hello world");
__xform_tmp_1 = 0;
__xform_tmp_2 = 500;
label2:
while ((__xform_tmp_1 < __xform_tmp_2)) {
x = __xform_tmp_1;
label3:
{
java.io.PrintStream temp$4 = java.lang.System.out;
temp$4.println(x);
}
__xform_tmp_1 = (__xform_tmp_1 + 1);
}
}
}
