What is the difference between P and N documents (if any)

136 views
Skip to first unread message

jensa

unread,
Jul 19, 2016, 10:33:00 AM7/19/16
to ISO C++ Standard - Discussion
Hi,

I've read several C++ standard documents for proposals and just realized that some of them have a number starting with "P" or "N". I thought that this would be a kind of classification based on the trarget, e.g. different WG or library/core, but then I looked at the mailing list archive and found documents which evolved from N to P, e.g. P0416R0 evolved from N4477 (http://open-std.org/JTC1/SC22/WG21/docs/papers/2016/#mailing2016-07). I am guessing it is some kind of life-cycle, e.g. an initial proposal vs. something later in the state, but I could not find documentation describing the process.

Could somebody point me to a description of the process?

Cheers,
  Jens



Nicol Bolas

unread,
Jul 19, 2016, 10:57:03 AM7/19/16
to ISO C++ Standard - Discussion
The "P" thing is recent. As in, late 2015. Before that, (almost) all documents were "N" documents.

I don't know the official distinction, but the general idea seems to be this. "N" documents represent revisions of an actual standard produced by the committee (working drafts, etc), as well as procedural items (minutes of meetings, meeting notes etc). They also represent the final standards.

"P" documents represent proposals, hence the "P", I guess. These are things that are being talked about for inclusion in a standard, but are not actually a standard.

"P" documents also have an explicit revision number. Before the "P" system, new versions of an "N" document would get a whole new "N" number. So if you wanted to see what the latest revision of, say, the comparison operator generation proposal, you had to look through the whole list of proposals until you found the most recent one. And the title sometimes changes, so it is not always obvious what the latest revision is called.

Now, a specific proposal is assigned a "P" number. Updated version of that proposal keeps the same "P" number, but gets an updated revision. So P0057 always refers to the await-style coroutines proposal, but there are 6 versions of that (R0 through R5). If you want to find the most recent version of that, just search backwards for P0057 in the list of proposals.

This also makes the wg21.link system much nicer. If you want the latest revision of P0057, just go to http://wg21.link/P0057. If you want revision 2, you go to http://wg21.link/P0057R2.

T. C.

unread,
Jul 20, 2016, 3:06:53 PM7/20/16
to ISO C++ Standard - Discussion
My understanding is that N-numbered papers are subject to some burdensome ISO requirements (something about a repository), so they just invented P-numbers and used those for everything they can get away with.

Reply all
Reply to author
Forward
0 new messages