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

Reply via email to