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