ticket	summary	component	priority	version	milestone	type	__color__	owner	status	created	_changetime	_description	_reporter
817	[pmc2c] don't require custom #defines for private flags	build	minor			cage	5	cotto	new	2009-07-07T22:25:28Z	2010-10-16T22:48:42Z	"It'd be nice if pmc2c didn't require that custom private PObj flags be #defined, but rather provided a way to declare them as part of the pmclass declaration.  The syntax could look something like this:
{{{
pmclass FooClass
    group FooGroup
    extends FooBase {

    ATTR PMC    *foo;
    ATTR INTVAL *bar;

    FLAG FOO_IS_HAVING_A_GOOD_DAY;
    FLAG FOO_IS_WEARING_YELLOW;
}}}

This would be a good introductory task for someone wanting to get into Parrot since it's not urgent and wouldn't cause any compatibility breaks.  The majority of the code that would need to be changed is in lib/Parrot/Pmc2c/Parser.pm and lib/Parrot/Pmc2c/PMCEmitter.pm ."	cotto
435	languages moved to examples need tests.	none	normal			cage	5		new	2009-03-11T12:31:37Z	2010-10-13T02:58:35Z	"The tests for {{{examples/languages}}} should:

  1.  be run as part of {{{make examples_tests}}}
  1. Once covered, they should be skipped from {{{t/examples/catchall.t}}} (see line 34 of this file for another skip)

As it stands, the files in that directory are generating even more failures in examples_tests, because they aren't meant to be run from the top level directory, and {{{.include}}}s are failing."	coke
955	need ability to create tempfile from PIR	testing	normal			todo	6	whiteknight	assigned	2009-08-28T18:05:43Z	2011-07-07T19:29:50Z	"to fully convert tests from Perl to PIR, we need a PIR-level analog to:

{{{
    use Parrot::Test::Util 'create_tempfile';
}}}

... I'm not sure if we can automatically delete; that would be nice, but a manual deletion at program exit is sufficient."	coke
236	implement pdd14-numbers	core	major			todo	6	dukeleto	assigned	2009-01-27T19:44:29Z	2010-10-13T00:34:28Z	add NaN/Inf to pdd, review spec against reality, implement what remains.	particle
220	editor/pir-mode.el should be a generated file	tools	trivial			todo	6		new	2009-01-24T05:41:25Z	2010-10-12T23:12:15Z	"Rather than having to edit pir-mode to keep it up to date with existing PMC names, they (and any other bits than can be done at build time) should be done programmatically.

This is a reasonable perl5 task."	coke
88	update pdd26-ast	docs	normal			todo	6	pmichaud	new	2008-12-24T04:38:02Z	2011-05-20T00:35:57Z	Verify that pdd26-ast is up to date with current implementation and design.	pmichaud
1332	change get_string on FPA, RPA (et al?)	none	normal			feature	9		new	2009-11-25T04:27:53Z	2011-01-14T03:53:59Z	"RPA inherits the get_string vtable from its parent, FPA, which says:

{{{
Returns the number of elements in the array as a Parrot string. (??? -leo)
}}}

??? indeed - why doesn't this return something more useful like, e.g.:  join("" "",@foo) ?

Anyone like the current functionality, or agree with the proposal?"	coke
67	Allow user to specify maximum size of GC allocation on command line	core	minor			feature	9	whiteknight	new	2008-12-19T00:59:33Z	2011-05-19T23:14:40Z	We should have a command line option for parrot that allows us to specify the maximum amount of memory the GC is allowed to allocate	coke
1921	RFC: decorate all functions in src/platform.c with PARROT_EXPORT	core	normal	2.10.0		RFC	8	cotto	new	2011-01-01T00:12:50Z	2011-08-29T23:46:40Z	"I propose that we add PARROT_EXPORT to all functions in src/platform.c (i.e. all functions in all files used to generate src/platform.c).  This is necessary so that users of libparrot, in this case dynpmcs, can access platform-specific functions.  The problem that brought this up was that the OS pmc couldn't access Parrot_get_user_id, but I can imagine this cropping up in other places too.

I've created a gci task for this and rfw plans to work on it, but I want to make sure I'm not missing anything before I merge into master."	cotto
2093	Remove :base_core modifier from *.ops files	core	trivial	3.2.0		cage	5	soh_cah_toa	new	2011-04-12T18:39:19Z	2011-04-12T18:56:24Z	"I've noticed that the {{{:base_core}}} modifier only appears in the *.ops files. ''cotto'' and ''benabik'' seem to think that this is just a leftover historical artifact that no longer has a purpose.

That being said, I think it's safe to remove {{{:base_core}}}.

I will take care of this within the next 2-3 days."	soh_cah_toa
2038	Singleton PMCs are deprecated	core	trivial	master	3.9	deprecation	11		new	2011-03-04T21:23:40Z	2011-07-19T05:54:05Z	"Parrot shouldn't be responsible for implementing the singleton contract for PMCs. Our current implementation of it is very bad anyway.

If HLLs or other projects want singletons, they should be able to implement the behavior themselves.

Types such as Env and OS don't have state so don't need to be singletons. They are basically just collections of methods, and it's very cheap for us to just create multiple copies of them if needed.

The scheduler is a different story. It does have state, so we need to only have one of those in the system at a time. There are ways to prevent users from creating a scheduler from PIR code. The scheduler reference is available (or should be) by introspecting the current interp PMC.

"	whiteknight
1639	StringHandle should be updated to use StringBuilder internally.	core	normal	trunk		todo	6	kthakore	assigned	2010-05-15T03:14:07Z	2010-12-01T00:01:29Z	"Hello.

In immutable strings world current implementation of StringHandle is sub-optimal. It should be migrated to use StringBuilder internally instead of String.

-- 
Bacek"	bacek
1282	OS.cwd returns platform specific slashes...	core	normal	trunk		todo	6	Yuki`N	assigned	2009-11-17T02:34:48Z	2011-11-26T01:56:12Z	"... but some languages need a way to get agnostic slashes. Rather than have every HLL implement this, there should be some way to canonicalize the path, and a way to get the platform-specific path. (This will allow hlls to pick whichever method they prefer.)

I don't particularly care about the implementation, as long as I can make

{{{
C:\Tcl\bin>tclsh
% puts [pwd]
C:/Tcl/bin
}}}

work.

This issue originally opened as http://rt.perl.org/rt3/Ticket/Display.html?id=39853"	coke
