There are three sets of PMCs here:
1) Standard. These are compiled in to Parrot, you can guarantee
they're there, can hard-code their PMC numbers, and don't need to do
anything special to make sure the PMCs are available.
2) Library. These aren't compiled into Parrot, but are shipped as
part of the standard library--to use them you need to look their PMC
numbers up at runtime and will need to do a load_library somewhere
before using them to actually load the PMC code for use.
3) Everything else. The stuff that doesn't get compiled into parrot
or goes in the base library.
Things that go in category #1 are PMCs that are fundamental to
parrot's working (stash PMCs, for example) or so basic and universal
we want them everywhere. (Such as parrot's objects, or the PMC
wrappers for the lower-level types)
Things that go in category #2 are PMCs that are useful and we don't
want folks to have to bother rewriting (again, and again, and again)
but don't want to burn memory and startup time on for everyone. The
complex PMC would go here, for example, as would language-specific
PMCs. (Tcl, Perl, Python, Ruby, etc)
Category 3 is CPaAN stuff, or ancillary libraries that we want to
develop in tandem with parrot but not necessarily ship as part of the
core distribution. (More complex math PMCs might go here, for
example)
At the moment I'm concentrating on things for category #1, and will
probably punt on everything else for now. When we've got more lists
set up (Ask's working on it, so at some point we will have a
compilers, standard library, and real perl6-internals list) we'll
push the discussion to the standard library list, where it belongs.
As part of this, as we go along some of what is in classes/ will get
moved to dynclasses/ and likely some of the stuff in ops/ will move
to dynops/. (And some of the semi-op-ish things will end up in the
standard library, like the backtick stuff probably ought)
--
Dan
--------------------------------------it's like this-------------------
Dan Sugalski even samurai
d...@sidhe.org have teddy bears and even
teddy bears get drunk
> set up (Ask's working on it, so at some point we will have a
> compilers, standard library, and real perl6-internals list) we'll
Called "parrot-internals" ?
Nicholas Clark
Yup. Along with Parrot-compilers and parrot-library. Perl6-internals will
transition over to being, well, perl 6 internals.
Dan
--------------------------------------"it's like this"-------------------