Brent 'Dax' Royal-Gordon wrote:

> Dan Sugalski wrote:
> 
>>I hope it's not in there in the first place. The prefix needs to stay.
> 
> 
> The declaration has been (along the lines of)
> 
>      typedef struct Parrot_Interp {
>          ...
>      } Interp;
> 
> for years.  The Interp typedef is intended for internal use only.  Why 
> do we need the prefix on an internal-use only typedef?  We don't use 
> Parrot_String or Parrot_PMC internally.

This works as long as people (a) know of (b) stick to the policy
("Interp for internal use only") (c) No application embedding Parrot
has defined "Interp" themselves.  Experience has shown that none of
these is likely to happen and/or stay that way for long :-)

> Outside of Parrot, it's still Parrot_Interp, the same as I wrote it way 
> back when I checked the embedding interface in. 

Something like

typedef struct Parrot_Interp_s {
    ...
} Parrot_Interp;

would be more robust, I think.  (A typedef setup like that is pretty
common, the explicit "struct Parrot_Interp_s" is needed only if there
is a need for a struct point to structs of the same kind, as in linked
lists.)

-- 
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