Skip to content

Instantly share code, notes, and snippets.

@pmichaud
Created May 3, 2013 16:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pmichaud/5bd0b87f9f6366c3fd90 to your computer and use it in GitHub Desktop.
Save pmichaud/5bd0b87f9f6366c3fd90 to your computer and use it in GitHub Desktop.
I've got a lot of comments here; don't take the volume or nit-pickiness
of these comments as being negative or an indication that the proposal
draft is bad.
- The titles seem inconsistent. The page says "JavaScript backend for Perl",
the proposal title says "JavaScript backend for Rakudo", and then
the synopsis says it's a "JavaScript backend for QAST". Might want
to make them consistent. Or perhaps even all of them:
A JavaScript backend for NQP (and Rakudo Perl 6)
- Also, I suspect many of the reviewers will be unfamiliar with
Rakudo's infrastructure (Rakudo, NQP, QAST, etc.), so it might
be worthwhile or important to make that clearer early on in
the proposal.
- Perhaps clearer if the Synopsis says that the goal of the
project is to get NQP (the language used to build Rakudo Perl 6)
running on JavaScript / node.js .
- Then the benefits section can say that having NQP running on
JavaScript will allow Perl 6 programs to run in browsers
and on top of node.js.
- The benefits section says that "Work is already underway on
a Perl 5 to QAST compiler"; might want to complete the
thought that this will enable some Perl 5 programs to run
in JavaScript platforms. (In general, don't make the reviewers
have to do too much thinking or jumping to conclusions on their
own, make the jumps and connections for them.)
- In Project Details is where I would mention QAST and how it
works -- essentially, QAST is the intermediate representation
for NQP and Rakudo Perl 6, and it is designed to target
multiple backend VMs. Currently QAST targets Parrot and the JVM.
This project will create a JavaScript backend for QAST sufficient
to create a bootstrapping compiler for NQP. Then go on to mention
your background and why it will be possible for you to
write code to support QAST on JavaScript.
- Deliverables is good, "bootstrapped" has two p's. GSOC is also
concerned with licensing, you might want to mention that your
code will be licensed the same as NQP itself.
- In "Inch-stones", "test suit" should be "test suite".
- If the inch-stones aren't already in chronological order, they
ought to be.
- "Pass all the tests which don't do IO" --> "Pass all of the non-IO tests"
- On the last inch stone, mention the actual location of the NQP
repository (http://github.com/perl6/nqp). Indeed, wherever
possible it's a good idea to mention/link specific resources
on the web for this project -- it shows that you already know
where things are and that the ecosystem is vibrant enough to be
worthy of GSOC support.
- As another example of this, might want to identify by name the
two GSOC projects you've already done. (Depends on the projects
and whether you think mentioning them helps/hinders your chances
for this grant.)
- As one last example of "specificity helps" and "don't make the
reviewer guess" -- you mention in the Bio that you've created
the JavaScript::V8 module, but I don't actually know what that
is. I'm guessing it's a CPAN module that interfaces P5 and
V8 somehow... but it would be better if I didn't have to guess
or search for the module to find out. :-)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment