What's Broken in Parrot Right Now
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.
Ways to emulate these would be nice too.
Lexical Classes
Anonymous Classes
Submethods
Existing Code Marked As Broken
Lots of comments in the code read XXX, ???, FIXME, or UNIMPL. Fix them.
XXX
???
FIXME
UNIMPL
Nested *Struct PMCs Share State
chromatic has a test case almost ready to show this.
setattribute Sometimes Misses
setattribute
https://rt.perl.org/rt3//Ticket/Display.html?id=36411
None at this time.
ResizableIntegerArray
https://rt.perl.org/rt3//Ticket/Display.html?id=32374 # XXX This is the wrong ticket number.
splice
https://rt.perl.org/rt3//Ticket/Display.html?id=34394
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
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]).
Everything in DEPRECATED.pod
Generate accurate file/line number information in stack traces.
Get name of parrot executable
parrot
https://rt.perl.org/rt3//Ticket/Display.html?id=33923
Give invokable PMCs a canonical way to store their associated HLL source and argument information.
Will Coleda is thinking about this.
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.
To install Parrot::Op, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Parrot::Op
CPAN shell
perl -MCPAN -e shell install Parrot::Op
For more information on module installation, please visit the detailed CPAN module installation guide.