No TL;DR, please do read in full.
For next Saturday, June 1, we need to submit the code for \Py to be
evaluated alongside our paper. The link for the artifact evaluation
submission info is at
http://splashcon.org/2013/cfp/665
(Aside: There's a few reasons to do this:
- It encourages reproducible science
- It forces us to think about how we should distribute our research software
- It helps us clearly state what the software does and what it is for)
The main, most important, most absolutely crucial thing is that we
make sure the process for reproducing the results we present in the
paper is *flawless*. We don't want to cause any headaches for anyone
who wants to get started running our stuff, and from the point of view
of reproducing results, that's the baseline that we are responsible
for first.
The second important thing is to show that we (in large part thanks to
Alejandro's consistent fantastic efforts), have been *adding to* the
project since it was originally submitted. It's a continuing effort
to cover all of Python and more, and it's good for us to show that
lambda-py is still improving.
I think there are several things to produce:
1. A VM that contains both today's lambda-py, and the tag of lambda-py
at submission time. We'll encourage reviewers to review what we have
today, but be sure to include the old version so they can verify what
the paper claims. We should also make sure that the old tests are in
their own directory so reviewers can verify that the *new* code works
on the *submission-time* tests.
2. Detailed instructions on what commands to run to:
* Start the VM and log in
* Run the test scripts
* Interpret the output of the test scripts
* Check the line-count and type of files that we pass tests on
3. Good instructions for building things from source, which helps
reviewers see how easy it would be to contribute to and build upon the
project.
4. A clear description of what we've added since the submission, to
highlight what we've been working on. This is probably best expressed
by comparing the test suites at present day and at the submission tag.
5. Any code cleanups that folks feel strongly about getting in --- I
know that Matthew had some opinions about how scope desugaring was
done. I'd like to have all of these done by *Wednesday* at the
latest, so there's still two days in which to test the VM.
6. Any low-hanging fruit test cases that people want to tackle, again,
to be done by Wednesday. Don't bite off anything that requires any
infrastructural changes in the core.
5 and 6 are clearly for all of us, if we have the time available.
I'm happy to try and tackle 1 & 2 over the weekend/Monday, and I may
try to steal some of Daniel's time for that (he's sitting next to me this
summer). Alejandro, do you have the time to provide a summary for 4?
Can one of the others produce instructions for #3 if there are any
beyond what's in the repo's README already?
Finally, can someone produce instructions for running the tests and
understanding the output in detail *independently of me* so we can
compare notes (basically, the non-VM parts of 2)? If we can, we
should include instructions like showing reviewers how to break test
cases and read the output, and showing them how to modify a part of
lambda-py and understand what broke/changed.
We have an awesome submission to present, so let's package it up nice
for our reviewers!