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.
  
  
  

Reply via email to