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)

Attachment: pdd7.diff
Description: Binary data

Reply via email to