Mirah's Github organization is here: https://github.com/mirah/
The primary codebase of interest is https://github.com/mirah/mirah,
but the parser (https://github.com/mirah/mirah-parser), App Engine
framework (https://github.com/mirah/dubious), and Android framework
(https://github.com/mirah/pindah) are also of interest.
We also have a maven plugin that may or may not be working
(https://github.com/mirah/maven-mirah-plugin) and a basic NetBeans
plugin that provides syntax highlighting
(https://github.com/mirah/mirah-netbeans-plugin).
Everyone interested in helping should hang out on Freenode IRC in the
#mirah channel.
TASKS
I posted a basic lists of tasks before, but here it is with some additions.
* Documentation: what works, what doesn't (and should), getting started, etc
* Test writing to fill out gaps (this can kinda go along with documentation)
* Codebase cleanup (on the new newast branch...may need to wait for
Ryan to get it working well)
* Bug tracker triage (close working bugs, try to fix simple ones, file
unreported issues from mailing list)
* Get pindah (Android framework) working (if it is not) and document
how to do it.
* Get dubious (GAE framework) working (if it is not) and document how to do it.
* Port parts of Mirah's Ruby code into Mirah (this is a goal of newast branch)
Things will probably start slow as we get newast and the frameworks
into working shape, but once we have a functional codebase things will
move a lot faster.
I'll be online as much as possible, but I can also be contacted on
Google Talk at this email address.
Hope to see you all this week working on Mirah! :)
- Charlie
My main goal is implementing support for generics, probably on the
newast branch. I'm hoping this week will see it whipped into
mostly-working shape, and then I can spend the following week hacking
on generics. I'll add documentation wherever I have to figure
something out on my own.
Braden Shepherdson
I'm waiting on newast to make some look and feel improvements to the
language itself. Things like this:
interface Foo do
...
end
should be
interface Foo
...
end
And having things like implements on the same line as class Foo < Bar
would make things feel a lot better. Basically, cleaning up a lot of
the "edges" of the language.
I also think the usual Java keywords should be added to the parser, so
that public, private, static, etc can start to be added more easily.
Kindof along the lines of filling out Java 1.0/1.1 language features
I'm also interested in porting more logic from Ruby into Mirah as
newast settles. I think a goal of 100% Mirah-based compilation would
be a reasonable goal for Mirah 1.0.
A lot depends on newast getting into order quickly, though...
- Charlie
I have no issues giving commit rights to anyone who wants to start
working on things. You just have to agree to Apache-2.0 and we're and
running!
- Charlie
We already talked on IRC a bit, but yeah, I think a lot of folks will
either want to look at newast (if working on core Mirah language impl)
or one of the side projects like mirah-parser. Hopefully during the
early stages of this hackathon we (really, Ryan) can get newast to an
approachable state.
I'm hoping that as newast settles a bit this week I can start looking
at helping to move the type system and eventually the compiler itself
into Mirah (or Java, if Mirah's not quite up to the task yet). Having
roughly half of the toolchain in Ruby and half in Mirah makes for some
interesting debugging...
- Charlie