NAME
What's Broken in Parrot Right Now
PURPOSE
This is a list of items we think are broken in Parrot at the current revision. It's not a list of bugs -- it's a list of missing and broken features that prevent developers from working on their parts of the system.
Committers, please add to the list as you find things and remove from the list as you resolve things.
Missing Features
Ways to emulate these would be nice too.
Lexical Classes
Anonymous Classes
Submethods
ParrotIO objects that work on strings
It should be possible to redirect input from and output to ParrotIO objects that don't actually perform IO, instead working with memory. Unfortunately, it looks like there are no vtable methods for read and write operations.
See the
setstdout
andsetstderr
ops.
Broken Features
Existing Code Marked As Broken
Lots of comments in the code read
XXX
,???
,FIXME
, orUNIMPL
. Fix them.Nested *Struct PMCs Share State
chromatic has a test case almost ready to show this.
setattribute
Sometimes Misseshttps://rt.perl.org/rt3//Ticket/Display.html?id=36411
Unfinished Opcodes
None at this time.
Missing Vtables
ResizableIntegerArray
# XXX This is the wrong ticket number. https://rt.perl.org/rt3//Ticket/Display.html?id=32374
splice
https://rt.perl.org/rt3//Ticket/Display.html?id=34394
Missing PDDs
Embedding (PDD 10)
https://rt.perl.org/rt3//Ticket/Display.html?id=33918
Assembly (PDD 12)
https://rt.perl.org/rt3//Ticket/Display.html?id=33919
Bytecode (PDD 13)
https://rt.perl.org/rt3//Ticket/Display.html?id=33920
Language-Specific Items
Make Perl a /language
Don't have Perl deps in static classes
https://rt.perl.org/rt3//Ticket/Display.html?id=32642
Make Perl PMCs dynamic
https://rt.perl.org/rt3//Ticket/Display.html?id=32646
Let languages be self contained
https://rt.perl.org/rt3//Ticket/Display.html?id=31633
Right now many languages are in the MANIFEST, using the global config, etc. As far as Perl goes, this could let us move Perl PMCs into languages/perl[6]).
Obsolete Features
Everything in DEPRECATED.pod
Miscellaneous
Generate accurate file/line number information in stack traces.
Get name of
parrot
executablehttps://rt.perl.org/rt3//Ticket/Display.html?id=33923
Give invokable PMCs a canonical way to store their associated HLL source and argument information.
Allow Runtime Compiler Registration
Leo suggests an eventual startup sequence of:
start main in src/parrot.c
determine source file type to compile/run
handle execution over to xxx-compiler or to pbc-run.
Currently src/parrot.c does nothing and startup occurs in imcc/main.c.