Note: To add things to the web-visible TODO list, living at
http://www.parrotcode.org/todo, send them in to
bugs-parrot@bugs6.perl.org. They then need to be tagged as todo in the
RT web interface.


String subsystem
----------------
    grep docs/strings.pod for unimplemented functions and implement them
    Implement transcoding
    Implement character class & properties testing (for regular expressions)
    Automate string vtable generation
    Fill in vtables for non-ASCII encodings: UTF-8, UTF-16, UTF-32, etc.

    Find a decent way of including Unicode properties tables. (Not for
    the faint of heart.)

    Implement a readline function and move the "EEEEEEEVIL" out of core.ops:
    String *readline(int fd, String **dest);
    if (dest)
	    *dest will be a string, append and reuse it.

Vtables
-------
    Fix vtable key support for hashes and arrays
    PythonInteger/String/Object?

JIT
---
    More instructions needed!
    Make it work on more architectures

Configure system
----------------
    Long term, should be replaced with a bootstrapping miniparrot system.
    Short term, fix the dependencies (eg, more needs to depend on classes/*)
    Platform-independent library creation for pbc2c.pl & extensions
    Valgrind test target on supporting platforms

IO
--
    Async IO
    Full going-over to make sure it works
    Socket IO
    Docs!


Regular expression engine
-------------------------
    Implement case folding
    More speed!

Interpreter
-----------
    Dynamic op libs

Assembler
---------
    Debugging and source line number info

Bytecode
--------
    Metadata (source line number info, symbol table)

pdump
-----
    Dumping constants shouldn't unpack the constants, but
    just print out the segment.

Stability
---------
    Purify, Valgrind, and other memory badness detectors

Performance
-----------
    Mo' betta benchmarks
    Add profiling build options
    Add the above to tinderbox

Documentation
-------------
    Parrotguts currently too difficult to approach

Debugger
--------
    Add commands history and completion
    Load the commands from a file
    Make breakpoints at labels
    Read core dumps
    Attach to a running program
    List breakpoints.
