cvsuser 05/03/07 22:51:10
Modified: tools/dev parrot_api.pl
Log:
Add discussion about the C preprocessor.
Revision Changes Path
1.6 +19 -1 parrot/tools/dev/parrot_api.pl
Index: parrot_api.pl
===================================================================
RCS file: /cvs/public/parrot/tools/dev/parrot_api.pl,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- parrot_api.pl 8 Mar 2005 06:12:39 -0000 1.5
+++ parrot_api.pl 8 Mar 2005 06:51:10 -0000 1.6
@@ -1,6 +1,6 @@
#!/usr/bin/perl -w
# Copyright: 2004 The Perl Foundation. All Rights Reserved.
-# $Id: parrot_api.pl,v 1.5 2005/03/08 06:12:39 jhi Exp $
+# $Id: parrot_api.pl,v 1.6 2005/03/08 06:51:10 jhi Exp $
=head1 NAME
@@ -67,6 +67,11 @@
=head1 RULES
+You can sometimes use C preprocessor defines to shorten the API names
+but please do carefully contain the effect so that only the Parrot
+itself sees those shortened definitions, the defines must not leak
+to the outside world.
+
=head2 Public or Private
If the API is really meant to be public, prefix it with <Parrot_>,
@@ -93,6 +98,10 @@
=head1 TODO
+=over 4
+
+=item *
+
There are a lot of warnings given from "core class" cases like
Parrot_Array_class_init array.o
@@ -102,6 +111,15 @@
such "core class" objects? But in any case, even those objects should
B<NOT> have any data symbols visible.
+=item *
+
+Write a pollution detector also for the C preprocessor: also in that
+namespace, Parrot should only present Parrot_ (and similar) symbols to
+the outside world. Be careful to only scan Parrot's defines, not
+system's or third parties'.
+
+=back
+
=head1 HISTORY
Author: Jarkko Hietaniemi.