As a followup to my previous early opinions: I've done some [more] reading up on value types. I'm now more sure now than ever that my initial decision was the right one: Parrot 1.0 will _not_ have native support for anything like value types. Parrot 1.0's type universe will consist entirely of [ISNP].
Thus, any implementation (emulation?) of value semantics will be built on PMCs like other types, and will thus continue to live in the GC universe, all a la JValue. On Sun, Mar 12, 2006 at 02:35:11AM +0800, Audrey Tang wrote: > The easy workaround for now is to have a "does readonly" interface in > addition to the current "does scalar", which forbids all self-mutable > vmethods. That's a good hack. Perhaps unrelated, perhaps not: Parrot will soon have a flyweight read-only proxy PMC, which will address the use case of "sub foo($a)", in which $a must be a read-only alias of the passed argument. Language implementors may find this useful in some otherwise value-oriented situations. PS: Rant against the annoying introduction of scalar containers in Perl 6 elided here, partly for brevity, but mostly for blood pressure. -- Chip Salzenberg <[EMAIL PROTECTED]>