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
Broken Features
Existing Code Marked As Broken
Lots of comments in the code read
XXX
,???
,FIXME
, orUNIMPL
. Fix them.Lexical Pads
Autrijus Tang has details.
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
split
https://rt.perl.org/rt3//Ticket/Display.html?id=32544
Will Coleda suggested
s/regexp/perl 6 rule/
and using PGE. Patrick Michaud suggests makingsplit
work only on constant strings and using PGE for everything else.
Missing Vtables
ResizablePMCArray
https://rt.perl.org/rt3//Ticket/Display.html?id=31867
ResizableIntegerArray
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
Miscellaneous
Generate accurate file/line number information in stack traces.
Get name of
parrot
executablehttps://rt.perl.org/rt3//Ticket/Display.html?id=33923
Namespaces
Matt Diephouse has prepared an email on this.
Give invokable PMCs a canonical way to store their associated HLL source and argument information.
Will Coleda is thinking about this.
Add rules engines for perl5-ish RE's in PGE.
Will Coleda specifically wants http://www.tcl.tk/man/tcl8.5/TclCmd/re_syntax.htm, but having a P5-ish one to subclass would be just dandy. Patrick Michaud thinks this is doable.
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.