Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 6c0c55a27a
Fetching contributors…

Cannot retrieve contributors at this time

88 lines (53 sloc) 2.445 kb
Here are a bunch of project ideas, both for me and for anyone else who
wants to help out. Starred items are ones I've already spent time
thinking about; check with me if you want to build on that. Plussed
items are required for yapsi.
EASY
Add your favorite missing function to the setting, with tests.
In particular, I could use: sprintf, dir, write, close, split, ...
Implement Sub.leave and CallFrame.leave
Character class expressions like [[a .. A] & [\W]]
Fudge and run your favorite spectest file.
Stuff spectests are blocking on: "closure for", :16(),
constants in signatures, ::T, ...
MEDIUM
+ qx[]
Finish the set of Num operators, includig number-theoretic and
transcedental functions.
Implement buffer types and binary I/O.
Implement a general socket API.
Design and implement a generic system for multiplexed and non-blocking I/O.
*CATCH and CONTROL blocks.
Jump table optimization for when chains.
*Find out what readonly subs are supposed to do with lists, etc and implement
that. Also add return-rw, take-rw, and the is rw trait for subs and attrs.
Add :rotate - depends on sized numbers.
Add Buf bitops.
Implement warning exceptions.
HARD
Design and implement some sort of NFG thing that allows use codes, graphs,
etc and handles canonical equivalence in regexes.
Determine the best way to map Perl6 process-think onto Windows/.NET
process think. Then implement &run, &runinstead, and &rungather.
Niecza is probably the ideal platform for prototyping a concurrency
system which will whirlpool back into the synopses.
*Parallel hyperops! Read the Cilk papers, they seem to have a data
parallelism model most similar to what Perl 6 needs.
*Explicitly imprecise error reporting. In many circumstances niecza
doesn't actually have an exact line number; it should be able to
report a range.
*Finish roles.
Add a JVM backend.
Add a Parrot backend.
NASTY
A multicore job scheduler would be cool. You'll need to talk with
TimToady on dependency extraction; there are some subtle points with
modules that export slangs.
*Figure out how BEGIN can possibly work. Do it.
Native type support.
SIMD hyperoperators.
Export Perl 6 code into a CLR .dll
Other stuff to do after:
- cnperl6 prototyping...
- CLR: KISS and then play with async I/O, possibly including soric
- pm's = hack
Jump to Line
Something went wrong with that request. Please try again.