Navigation Menu

Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
leto committed Dec 18, 2011
2 parents 636ac69 + 2a1d9bb commit 7d9fc22
Show file tree
Hide file tree
Showing 2 changed files with 191 additions and 0 deletions.
3 changes: 3 additions & 0 deletions README.md
@@ -0,0 +1,3 @@
# Proposals

Grant proposals, talk proposals, all kinds of proposals!
188 changes: 188 additions & 0 deletions 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.

0 comments on commit 7d9fc22

Please sign in to comment.