Leopold Toetsch wrote:
> Jarkko Hietaniemi <[EMAIL PROTECTED]> wrote:
>
>
>> + if (/^\w+\s+(Parrot_\w+)\(/) {
>
>
> Can we be slightly less strict? Current publics that ought to be APIs
> include these prefixes:
That's a policy decision. I would make a different policy decision
(that is, *everything* parrot exports would begin with Parrot, e.g.
ParrotC for compiler, ParrotD for debugger), but obviously I don't
make any policy decisions regarding Parrot.
> IMCC_ PASM/PIR compiler stuff
> AST_ AST compiler stuff
> PF_ Packfile handling low level
> PackFile_ same/higher level, but needs review
> PDB_ Parrot debugger
> PIO_ Parrot IO
>
> Another possible issue the program shows is: there are tons of public
> symbols that have a Parrot_ preifx, which are *neither* API calls:
>
> - Parrot opcode functions (core_ops.o)
>
> and some may be embedding APIs:
>
> - Parrot vtable functions
The question is which of these "tons" do you want exposed? The sad
truth is as soon as a symbol is exposed, someone will use it, and
then you are stuck with it, making it harder to change the interface
ever again. Therefore minimizing the number of exposed symbols is
a worthy future-proofing task. Also, I do not see *any* excuse
for exposing any symbol that doesn't have *any* of the approved
prefixes.
> Thanks Jarkko,
> leo
--
Jarkko Hietaniemi <[EMAIL PROTECTED]> http://www.iki.fi/jhi/ "There is this
special
biologist word we use for 'stable'. It is 'dead'." -- Jack Cohen