Public headers are the ones in C<include/parrot> directory. These are
included by embedders and extenders. They must not declare or define any
symbol that isn't clearly Parrot-specific. Prefixing symbols with C<Parrot>
or C<PARROT> is the easiest & safest way, but it can lead to a lot of
verbosity, so I'm willing to entertain exceptions or new conventions.
It's OK for public headers might have non-public parts protected with
C<#ifdef PARROT_IN_CORE>. Those non-public parts might #define shorter
versions of the public symbols, e.g. C<#define foo Parrot_foo>.
--
Chip Salzenberg <ch...@pobox.com>