Most Mirah code looks roughly like Ruby code with occasional type annotations. Here are a few quick examples.

Fibonacci

The code for fib is largely unchanged from the Ruby version, with the only obvious difference being the type declaration. Here, a Ruby symbol :fixnum is used. In the JVM backend for Mirah, this ends up compiling to a primitive 32-bit int

 def fib(a:fixnum):fixnum
   if a < 2
     a
   else
     fib(a - 1) + fib(a - 2)
   end
 end

Note that the return value of this method, as all methods in Mirah, is inferred from the exit points. The type inference engine will raise an error if multiple exit points have incompatible types.

Note also that fixnum is a synonym for “int” in this case. You can use either or.

More

More samples may be found at Howto and on github
See also MirahHowto