Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

The Mirah Programming Language

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 bin
Octocat-spinner-32 distbin
Octocat-spinner-32 examples
Octocat-spinner-32 javalib
Octocat-spinner-32 lib
Octocat-spinner-32 maven
Octocat-spinner-32 nbproject
Octocat-spinner-32 src
Octocat-spinner-32 test
Octocat-spinner-32 tools
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Gemfile
Octocat-spinner-32 History.txt
Octocat-spinner-32 LICENSE
Octocat-spinner-32 NOTICE
Octocat-spinner-32 README.txt
Octocat-spinner-32 Rakefile
Octocat-spinner-32 build.xml
Octocat-spinner-32 mirah.gemspec
Octocat-spinner-32 pom.xml
= mirah



Mirah is a customizable programming language featuring static types,
local type inference and a heavily Ruby-inspired syntax. Mirah
currently includes a typer/compiler backend for the JVM which can
output either JVM bytecode or Java source files.


* Ruby-like syntax
* Compiles to .class or .java
* Fast as Java
* No runtime library


mirah <script.mirah>
mirah -e "inline script"
mirahc <script.mirah>
mirahc -e "inline script" # produces DashE.class
mirahc -java <script.mirah>
mirahc -java -e "inline script" # produces


* JRuby 1.6.0 or higher.
* BiteScript 0.0.8 or higher


If your gem and rake are not from from JRuby, prefix the commands with jruby -S

$ gem install mirah

To build and install from source,

$ git clone
$ cd mirah
$ bundle install
$ rake gem
$ gem install pkg/mirah-*.gem

== For Java tools:

To build the Mirah jars from source you should have a checkout of both jruby and
bitescript in Mirah's parent directory. Run "ant jar-complete" in jruby, then in
the mirah directory "../jruby/bin/jruby -S rake jar" to build the Mirah jar. Use
"jar:complete" instead to produce a free-standing jar file with JRuby and the
JRubyParser libraries included.
Something went wrong with that request. Please try again.