On Sun, 2 Sep 2001, Simon Cozens wrote:
> For instance, the Parrot VM will have a register architecture, rather
> than a stack architecture.
s/rather than/as well as/; # we've got a stack of register frames, right?
> There will be global and private opcode tables; that is to say, an area
> of the bytecode can define a set of custom operations that it will use.
> These areas will roughly map to compilation units of the original
> source; each precompiled module will have its own opcode table.
Side note: this isn't making sense to me. I'm looking forward to further
explanation!
> If our PMC is a string and has a vtable which implements Perl-like
> string operations, this will return the length of the string. If, on the
> other hand, the PMC is an array, we might get back the number of
> elements in the array. (If that's what we want it to do.)
Ok, so one example of a PMC is a Perl string...
> Parrot provides a programmer-friendly view of strings. The Parrot string
> handling subsection handles all the work of memory allocation,
> expansion, and so on behind the scenes. It also deals with some of the
> encoding headaches that can plague Unicode-aware languages.
Or not! Are Perl strings PMCs or not? Why does Parrot want to handle
Unicode? Shouldn't that go in a specific language's string PMC vtables?
-sam