diff --git a/README.md b/README.md new file mode 100644 index 0000000..bbf66a9 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# Proposals + +Grant proposals, talk proposals, all kinds of proposals! diff --git a/TPF/plperl6_hague_grant.txt b/TPF/plperl6_hague_grant.txt new file mode 100644 index 0000000..eebf83b --- /dev/null +++ b/TPF/plperl6_hague_grant.txt @@ -0,0 +1,188 @@ +Name + +Jonathan "Duke" Leto + +Email & Phone + +duke@leto.net, 209.691.DUKE + +Project Title + +PL/Perl6 Infrastructure and Improvements + +Synopsis + +The proposed grant would support the development of PL/Perl6, which allows +people to use Perl 6 as a stored procedure language in the PostgreSQL database. + +Benefits to Perl 6 Development +How will this advance the release of Perl 6? + +It will allow a very new and large niche of developers access to Perl 6 and +provide a use case for it. + +Deliverables +Quantifiable results, including referencing a milestone document or a critical path + +1) PL/Perl6 working on the latest stable release of Rakudo + +There is currently a bug which causes some PL/Perl6 tests to crash Postgres. +This could be from something that changed in Parrot, Rakudo or both. Because +there was no system testing PL/Perl6 on newer releases of Rakudo, this got +broken and has yet to be fixed. + +2) A continuous integration setup such that PL/Perl6 is tested against newer +versions of Parrot + Rakudo, so that 1) does not happen again. + +This will probably be implemented on the GCC Compile Farm and/or the OSUOSL +Supercell project. Documentation about how to install and maintain this CI +environment will be included. + +3) User-friendly web documentation for developers wanting to use PL/Perl6 + +This will include one set of documentation that is an overview and intro the +API, and another set of documentation which gives various examples, such +as using a Perl 6 Grammar in a stored procedure. + +4) User-friendly web documentation for installing/compiling PL/Perl6 + +This documentation will guide people on how to compile PL/Perl6 from a release +tarball, from the Git repo or from a package manager. + +5) Screencast showing how to write a stored procedure in Perl 6 + +A screencast that can be used for promoting Perl 6 in PostgreSQL will also be a deliverable. +This will show how to write a stored procedure in Perl 6 and what it looks like when it runs. + +Project Details +A more detailed description. + +1) The object is for the PL/Perl6 test suite to pass on the latest stable release +of Rakudo, or whatever Rakudo devs would prefer that works with PL/Perl6. + +Currently, one of the PL/Perl6 tests causes PostgreSQL to coredump due to a +change in Parrot or Rakudo or both. This needs to be debugged and either +something in PL/Perl6 , Parrot or Rakudo needs to be fixed. + +This will involve working with Rakudo core devs as well as Parrot core devs to +resolve this situation. More tests will also be added in the process to +insure against future breakage. + +2) This is actually the most work and most important part of this grant. +Without a continuous integration system, something like PL/Perl6 can't stay +alive. Since PL/Perl6 ties together multiple pieces of *very* different +software (PostgreSQL, Parrot, Rakudo) it needs to continually be tested on new +versions of these dependencies to make sure it continues to work properly. +Also, this continual testing leaves the data behind that people can look at +to fix and maintain PL/Perl6. Without that data, maintenance isn't really possible. + +The data in this CI system will provide the data that Parrot, Rakudo and PL/Perl6 +developers need to fix bugs and make improvements with the knowledge that things +are not being broken. + +The needs of the CI system are: + +On each new commit to Rakudo nom branch (the development tip), test against: + + Postgres 9.1, PL/Perl6 master, g++ compiler + Postgres 8.4, PL/Perl6 master, gcc compiler + +On each commit to PL/Perl6 on any branch: + + Postgres 9.1, Rakudo nom, g++ compiler + Postgres 8.4, Rakudo nom, gcc compiler + +This is just the beginning, but with this, we will have a wealth of data about +how versions of Rakudo and PL/Perl6 behave together, across the two major +versions of Postgres that PL/Perl6 supports. Also, having data for both a C and +a C++ compiler is valuable because many bugs only become apparent in one or the +other. + +3+4) The user-friendly developer + compile/install documentation will be a Git +repo that is also a website, hosted for free on Github. This will also make it +easy to get contributors for the website as Github pull requests. This could be +hosted in the perl6 Github organization, in which case all current committers +to perl6 would have the ability to update the website. + +5) Screencasts have become a very important tool for gaining new users and +providing entertaining introductions to new subjects. To my knowledge, Perl 6 +has never had a screencast, and if it has, it surely can benefit from more. +The estimated time of the screencast is 2-5 minutes. It will go through the +process of writing a stored procedure in Perl 6, running it, modifying the +stored procedure and running it again to see the modified output. If time +allows, other examples will be shown and part of the compile/install process +will be shown. + +Project Schedule +How long will the project take (calendar duration, not effort in hours)? + +I expect about 4 months, working 1/4 time (10 hours per week). + +When can you begin work? + +January. + +Report Schedule +How do you plan to provide updates on your work? + +Yes, I plan to provide at least monthly blog posts with updates. + +Note that payments on the grant will be contingent on the successful acceptance of milestones and the submission of reports. + +Public Repository +Where will the code be stored upon completion? + +https://github.com/leto/plparrot + +Releases are also hosted on PGXN, which is the Postgres equivalent of CPAN: + +http://pgxn.org/dist/plparrot/html/plperl6.html + +Where will the change logs be held? + +https://github.com/leto/plparrot + +Grant Deliverables ownership/copyright and License Information + +Artistic 2.0 + +Who and/or which organization will have ownership (copyright) of the grant deliverables? + +Jonathan "Duke" Leto and other contributors + +Bio + +I have hacked on Parrot Virtual Machine and Perl 6 ever since I attended a +Parrot Hackathon in 2008. I started off hacking on the Perl 6 test suite, +after getting a commit bit from Larry at the hackathon due to my interest in +fixing some bugs and adding tests relating to math functions and complex +numbers. I have made contributions to Rakudo Perl 6, the Perl 6 test suite, +written Perl 6 modules and I am still active as a Parrot Core Developer, +Board Member of Parrot Foundation and Community Manager of Parrot. + +As for other credentials, I have a Masters in Mathematics from University of +Central Florida and have published various papers on differential equations, +as well as being a coauthor of the Google Summer of Code Mentor Manual [8]. + +Country of Residence + +USA + +Nationality + +USA + +Amount Requested + +$5000 USD + +Okay to publish proposal? : + +Yes + + +Suggestions for Grant Manager + +Makoto Nozaki was my previous TPF grant manager and we got along well. A grant +manager that is involved in Perl 6 could be beneficial, but I do not have one +in mind.