I finished the first version of the KindaPerl6 project roadmap, after a whole month of planning, prioritizing, and procrastination.
This version is a filtered out "main development track", extracted from the otherwise anarchistic development structure (somebody called it "genetic programming").
The goal of phases and milestones here is really just to break the project down into bite-sized pieces that regular hackers can get their heads around.
Specifically, the plan doesn't tell people what they should not to do. Small projects are much welcome. You might even get a Perl 6 Microgrant . I'm told that the TPF really wants to give out a couple of kp6/mp6/6STD grants!
The roadmap as html - http://moritz.faui2k3.org/pugs_pod/kp6-roadmap
The roadmap as pod - http://svn.pugscode.org/pugs/v6/docs/kp6-roadmap.pod
- Flavio S. Glock (fglock)
For this average hacker to contribute, I'll need a more concrete example of what it would look like to work on a task.
I mean, how do I to work around the bootstrapping problem? You are asking people to write a compiler in a language that doesn't exist yet using the language that doesn't exist yet.
It's confusing.
What's the development cycle look like for this?
Posted by: Mark Stosberg | 2007.06.15 at 11:16 PM
AFAIK, KindaPerl6 is supposed be bootstrapped by MiniPerl6 which itself was bootstrapped by v6-alpha (a Perl 6 on Perl 5 compiler using v6.pm + PCR).
It's a "confusing" plan but also a beautiful one :)
Posted by: Agent Zhang | 2007.06.17 at 12:47 AM
Mark:
The kp6 directory (v6/v6-KindaPerl6/) contains the tools you need for bootstrapping the compiler and for running programs.
Compiler source code can be compiled with:
$ perl mp6.pl < lib/Some/File.pl > lib5/Some/File.pl
Programs written in Perl 6 can be compiled and run with:
$ perl kp6-perl5.pl < t/kp6/01-tap.t | perl -Ilib5
There are shortcut scripts for some common operations:
$ perl recompile.pl # recompiles all kp6 source
$ sh run_tests.sh # runs all kp6 tests
Only the Perl 5 backend is fully implemented; Parrot (through Perl6-in-Parrot), JVM (through Groovy), and Python (possibly through RPython) are experimental.
Posted by: Flavio S. Glock | 2007.06.18 at 08:07 PM
Does it require perl 5.8, or can perl 5.9/10 be used?
Posted by: diakopter | 2007.06.19 at 12:13 AM
diakopter:
There are no special requirements for the Perl version.
Posted by: Flavio S. Glock | 2007.06.19 at 02:26 AM
Neat! Thanks everyone for the clarifications.
Now I'm interested to try it.
Posted by: Mark Stosberg | 2007.06.20 at 02:06 AM