Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
tag: 2010.04
Fetching contributors…

Cannot retrieve contributors at this time

117 lines (103 sloc) 4.902 kB
Rakudo Roadmap
--------------
Last updated: 2010-03-17
This document identifies the major tasks planned for Rakudo
development as of March 2010. Most of these tasks are
oriented around the Rakudo Star distribution, currently targeted
for May/June, 2010.
The items below are given a 1-3 priority indicator for the
Rakudo Star release, where 1 is "really important", 2 is
"ought to have", and 3 is "nice to have". Each item also
has from one to five asterisks indicating the estimated
"degree of effort" required for the item. Some items also
have additional notes (A-Z) of larger-scale issues or
considerations for the item. Finally, we've also provided
an indication of the person(s) most likely to be working
on the item; this is not intended to preclude or discourage
others from doing so.
Patches to this document are welcome.
Really important items
1 ** complete lazy lists in Seq and Array (colomon, bkeeler, jnthn, pmichaud, others)
1 * array/hash vivification (masak, jnthn, pmichaud)
1 *** REPL remembers the variable from the last line (D, jnthn)
1 * lexical variables in regexes (B, bkeeler, masak, jnthn)
1 ** operator overloading -- infix:, prefix:, postfix: (almost there, problems with pre-comp)
1 ** lexical classes and roles (jnthn)
1 ** import module symbols into current lexical scope (D, jnthn)
1 ** improved error messages and failure modes (B, all)
1 * attention-grabbing examples (all)
1 ** release announcement draft (pmichaud, all)
1 *** get the Advent examples running again (all)
Ought to have items
2 ** basic Buf implementation (A)
2 ** speed issues and profiling (C, all)
2 ** regex modifiers (B, pmichaud)
2 *** installation standards (A)
2 ** custom operators for circumfix:, postcircumfix: (B, pmichaud)
2 *** heredocs (B)
2 ** Rat, BigNum, numification improvements (C, colomon)
2 ** true hyper/cross/reverse/other metaoperators (colomon, jnthn, pmichaud)
2 ** synopsis 19 handling (A, D, pmichaud, particle, others)
2 *** temp variables (C)
2 **** better longest token matching in regexes (A, D, pmichaud)
2 ? other S02 data types -- KeySet, KeyBag (A)
2 ? specialized Unicode bits -- .codes, .graphs, .bytes (A, C)
2 * REPL actually prints (D)
Nice to have items
3 *** array/hash element vivification via WHENCE (jnthn)
3 **** module versioning and download (A, jnthn, mberends, masak, others)
3 **** ENTER/LEAVE/LAST/NEXT/FIRST/REDO control blocks (C, Z4)
3 **** Perl 5 interop (Z5, jnthn)
3 *** Pseudo-packages MY, CONTEXT, OUTER, $?LINE, etc. (jnthn)
3 ? feed operators (jnthn)
3 **** macros (B, Z)
3 *** pod heredocs (B)
3 *** complete Buf implementation (C)
3 *** slice context (A, B, Z3)
3 ** native calling interface (A, C, Z4)
3 *** domain specific languages -- slang and grammar tweaks (A, B, D)
3 ? sized types -- int32, int8 (C)
3 ? native typed scalars (C)
3 ? packed arrays (C)
3 ? compact structures (C)
3 **** full s/// including s[\d+] += 42 (B)
3 * other REPL improvements (D)
3 ** operator adverbs (B, pmichaud)
Notes:
A. Involves Perl 6 spec updates/revisions: Some items
involve or require substantial updates or revisions to
the synopses in order to progress.
B. Requires some improvements to the grammar or grammar engine.
C. Some Parrot-level support and/or development needed.
D. Some NQP-level support and/or development needed.
Z. Explicitly postponed items: Some items we explicitly
postpone until later in Rakudo development. There are generally
a variety of reasons we might do this:
(Z1) it's not an immediately pressing issue and there's
little penalty or some benefit from delaying work on it
(Z2) the spec is vague or non-existent on the topic
(Z3) we expect the spec or STD.pm to change or evolve substantially
(Z4) we expect Parrot or the compiler environment to change substantially
(Z5) the item appears to be Really Hard "right now"
(Z6) other blockers
Completed ROADMAP items:
- better return value checking (done)
- clean up subtypes in multi-dispatch (done)
- maintain candidate lists in lexicals (done)
- overloadable postcircumfix:<[ ]> and postcircumfix:<{ }> (done)
- proper trait definition and usage (need to fix edge cases)
- binding named arguments to positional parameters (done)
- using STD.pm (or close analog) for parsing (done)
- lexicals refactor (done)
- embedded closures in regexes (done)
- declare contextual and lexical vars in regexes (done)
- return multiple values from a sub (done)
- unpacking arguments (done)
- nested signatures (done)
- captures in signatures and return values (done)
- array/hash element vivification via Proxy (done)
- better gather/take handling of arguments (done)
- lazy gather/take (done)
- basic s/// (done)
- protoregexes in grammars (done)
- item assignment (done)
Jump to Line
Something went wrong with that request. Please try again.