Many of you may have wondered about the status of Mirah...where it's
going, when it's going to get there, all that. And indeed, the
progress has been somewhat intermittent lately (with all credit for
keeping things moving going to Nick Howard, and Ryan Brown, and the
other active contributors).
Well, now's our chance to really get Mirah going again, and make it a
real contender on the JVM.
Thanks to Ryan Brown, Google is hosting a Mirah hackathon next week,
starting Tuesday (or Monday after Ryan's Mirah presentation at Google,
if you prefer). You can participate on-site if you like, but we'll all
be online and available on IRC and IM throughout the week. We'll also
post a Google+ hangout where several of us will idle.
For his part, Ryan is going to work on getting the "newast" branch
functional, since that represents the future of Mirah (newast moves
the AST and large part of the type inference and compiler into Mirah
There are many other areas we can collaborate on...some involving
actual code, and some administrative:
* Documenting the current state of Mirah and ensuring we have tests
and specification-like doco for every feature. This is a combination
of writing Ruby+Mirah in the test suite and/or writing doco on the
wiki or a shared document somewhere.
This will basically start to provide the missing specification and
documentation for Mirah the language, along with tests to ensure we
continue to comply. Along with this we can start to rough out the
"edge features" that need to be there but have not yet been
implemented, like full annotation support, generics, autoboxing, and
class/field/method modifiers like private and abstract. We can also
start to discuss and rough out new non-Java features like pattern
matching or case classes.
* Codebase cleanup
The existing codebase could be a lot cleaner and better documented.
This is also a great way to get familiar with it. HOWEVER...this
probably should happen on newast, since there's a large number of
substantial changes from master.
* Triaging the bug tracker for issues that are fixed or easy to fix
and dealing with them.
Nick has been good about keeping an eye on the tracker, so it may be
pretty clean, but there may be issues that are easy to fix or for
which we can improve the existing report.
* Triaging mailing lists for unreported bugs and getting them into the tracker.
Folks often post problems to the mailing list but do not report
issues. We need to track those so we can fix them.
* Trying out the basics of "getting started with Mirah" and
documenting trouble, reporting issues along the way.
Basically, try to use Mirah like a typical user, and get the pain
points out in the open.
This is our chance to finally take Mirah to a real usable level. Join us!
I would encourage you all to join the hackathon early and consider the
second week a bonus :)