This patch adds a new item to the must part of pdd7. Pdd7's still missing:
A. Solving the problem of typedef struct a *a Summarizng Leo's, Juergen's, and Brent's ideas, I propose the following: To have an underscore prepended to the stuct ParrotInterp. To use ParrotInterp defined as typedef struct _ParrotInterp *ParrotInterp only in embeding/extending code. To use Interp defined as typedef struct _ParrotInterp { ... } Interp for internals only. To put this in the must part of pdd7 B. Naming structs. I propose to use the style that Juergen's already been using in io.h for a while. In other words: typedef stuct _pobj_t { ... } pobj_t typedef struct _ParrotInterp *ParrotInterp typedef struct _RunProfiler { ... } RunProfiler That style would be out of troubles for any compiler. That should be put in instead of "structs should start with ... " C. #if defined/undefined vs 0/1 issue I'm for ifdef/ifndef. D. Function parametres in declarations. At the monent, pdd7 says that we mustn't omit them in declarations. I propose to omit them. The advantage is: We wouldn't run the risk to having a keyword of C++ as a parameter, we would have nothing to coordinate with parameters in definitions. The drawback is: We would lose a lot of helpful information that we could have obtained while exploring the headers. And as a matter-of-course, we should put it into the must part. --- "One of the criticisms of Perl 5 is that its source code is impenetrable to newcomers, due to such things as inconsistent or obscure variable naming conventions, lack of comments in the source code, and so on. We don't intend to make the same mistake when writing Parrot." -- Dave Mitchell (or maybe PDD7 itself, who knows)
pdd7.diff
Description: Binary data