Doc No: SC22/WG21/N2596 J16/08-0106 Date: 2008-03-14 Project: JTC1.22.32 Reply to: Robert Klarer IBM Canada, Ltd. klarer@ca.ibm.com
Clamage called the meeting to order at 09:00 (GMT+8) on Monday, February 24, 2008
Caves described the arrangements and facilities for the meeting.
Clamage had the attendees introduce themselves.
Clamage reviewed the patent disclosure rules.
Nelson reviewed membership rules. Nelson then circulated the attendance list and membership list. Clamage reviewed voting rules and reviewed procedures for the meeting.
Clamage presented the agenda (document J16/07-0346 = WG21/N2476).
Motion to approve the agenda:
Mover: Hedquist |
Seconder: Stoughton |
WG | favor | oppose | abstain |
J16 | unanimous consent | ||
WG21 | 5 | 0 | 0 |
Each of the Working Group chairs presented their plans for the coming week.
Adamczyk reported that some design issues related to Concepts remain outstanding. Furthermore, there are approximately 15 diferent papers relating to language extensions that require CWG attention. Adamczyk predicted that little work will be done on defect reports.
Hinnant reported that there are 25 papers before the LWG that have not previously been discussed, and several more papers that need to be revisited. There are some 200 open LWG issues.
Stroustrup reported that EWG will discuss Lambdas, Initializer Lists, and any Concepts issues that arise from CWG.
Motion to approve the minutes (document J16/06-0323 = WG21/N2453)
Mover: Hedquist |
Seconder: Plum |
WG | favor | oppose | abstain |
J16 | unanimous consent | ||
WG21 | 5 | 0 | 0 |
Sutter reported that five countries are represented at this meeting; all five have voting status.
Sutter reviewed the plan for completion of the revision.
A liason statement from WG14 to WG21 regarding Attributes can be found in J16/07-0336 = WG21/N2466.
A liason statement from WG14 to WG21 regarding Thread Cancellation can be found in J16/07-0325 = WG21/N2455.
A POSIX liason statement to WG21 can be found in J16/08-0046 = WG21/N2536.
Plum reported that OWGV appreciated the participation of many WG21 members at the last OWGV meeting in Kona.
OWGV last met at the Carnegie Mellon Software Engineering Institute in Pittsburgh PA. They will next meet in the Netherlands, adjacent to the Spring 2008 meeting of WG14.
The post-Kona draft of the WP is J16/07-0331 = WG21/N2461.
In Kona, a drafting committee and a review committee were empowered to specify the multithreading library. The result of that effort has been added to a subsequent draft, which is J16/08-0031 = WG21/N2521.
Brown read aloud a formal statement on the behalf of Fermilab:
Fermilab strongly objects to the adoption of N2522 as an official J16/WG21 Working Paper/Working Draft. Our specific objection is to "Chapter 31 Date and time library [datetime]" and to those small parts of other chapters (notably "Chapter 30 Thread support library [thread]") that make use of Chapter 31. We have no objection to any other parts of N2521. We understand that paper N2498 in the pre-meeting mailing seeks to modify much or most of Chapter 31, but we do not address that paper here; we are objecting to the adoption of N2521 on the basis of what it says today. We base our objection on a number of technical issues, most of which we have set forth in our paper N2526. Our major objections are: - a multiplicity of types introduced to represent the single idea of a duration; - the consequent need to write templates, not functions, for even simple purposes, making it very difficult to write libraries using these types; - the explosion in the number of types needed as we extend this approach to additional physical quantities. Additionally, we believe that Chapter 31's approach of introducing standard types, such as seconds and nanoseconds, is an incorrect abstraction. More importantly, we also believe that it contradicts a pre-existing International Standard, namely "International Standard 31 Quantities and units." We are fully aware that we are asking this Committee to reverse itself, but there is ample precedent for this. Moreover, the principal authors of the clause in question are themselves already seeking (in N2498) to do so. We therefore ask that Chapter 31 and all references to its contents be excised from the motion under consideration.
Brown offered to propose an amendment to excise the offending clauses from the paper.
Boehm recalled that the review committee discussed some of the technical issues that have been raised by Fermilab, and decided to approve the paper as written. The feeling of the review committee at the time was that the document accurately reflected the design that had been approved in principle by the committee in Kona.
Plauger advised that the current Working Paper be accepted as written, but that the committee take care to consider the technical objections that were raised by Fermilab.
Sutter observed that adminisitrative and technical confusion would result if the Working Paper was not formally accepted before technical discussions commenced for the week.
Dos Reis reported that France does not consider this an issue over which it would vote No on a ballot.
Plum proposed that the paper be accepted, but that there be agreement that chapter 31 (which specifies the multithreading library) has the status of new material and is therefore still subject to change.
Miller spoke against approving parts of a WP while excluding other parts of the same document, noting that internal cross-references within the document would be broken.
Boehm reported that the design points that are controversial were not introduced by the review committee, and that there is a great deal of non-controversial text in clause 31.
Discussion ensued.
Motion to accept the working paper
Mover: Becker |
Seconder: Klarer |
Plum moved to amend the motion as follows:
Motion to remove chapter 31 from the current Working Draft and accept the rest. The paper will be inconsistent and incomplete. The inconsistency will be remedied in one of two ways: by addressing controversies surrounding chapter 31 in later drafts, or by removing from a Working Draft all references to chapter 31.
Mover: Plum |
Seconder: Brown |
Discussion ensued.
Plauger called the question on the motion to amend.
Support for the call:
WG | favor | oppose | abstain |
J16 | 20 | 2 | 4 |
Motion to amend.
WG | favor | oppose | abstain |
J16 | 2 | 17 | 3 |
WG21 | 1 | 3 | 1 |
Plauger called the question on the original motion.
Support for the call:
WG | favor | oppose | abstain |
J16 | 20 | 0 | 5 |
Original motion.
WG | favor | oppose | abstain |
J16 | 20 | 1 | 5 |
WG21 | 5 | 0 | 0 |
Nelson proposed that, if a document is produced at this meeting to be voted on at this meeting, it has to be posted to the formal motions page on the wiki. Nelson elaborated that it is not sufficient to upload the document to a subgroup page and then link to it; the document should be uploaded to the formal motions page by the time straw poll discussions commence on Friday.
Clamage reported that two names have been submitted to be Friends of the Committee:
There will be a formal motion to grant Friend of the Committee status to these individuals on Saturday.
We have three subgroups: Core, Library, and Evolution. There will be a subgroup of Evolution to deal with issues relating to concurrency.
The committee broke into subgroups at 10:30 (GMT+10).
See 10.1, below.
Move that J16 approves the following members as liaisons to the designated committees:
WG | favor | oppose | abstain |
J16 | 26 | 0 | 1 |
Motion 1. Move we apply the resolutions to the following issues from N2494 to the C++0X Working Paper:
527, 561, 562, 563, 567, 581, 620, 621, 622, 623, 624, 661, 664, 665, 666, 674, 675, 676, 679, 680, 687, 688, 689, 693, 694, 695, 700, 703, 705, 706
WG | favor | oppose | abstain |
J16 | unanimous consent | ||
WG21 | 4 | 0 | 1 |
Motion 2. Move we apply WG21/N2528 "Timed_mutex in C++0x" to the C++0X Working Paper.
Dawes reports that this particular issue was voted 9/1/1/3 in LWG. This was a 2/3rd majority, so it is being brought forward. Regardless, Dawes urges the committee to vote against this motion, as he is concerned about implications to the Windows community. Dawes also expressed concern that implementors will need guidance for this necessary component, but they will have none if this item is not specified in the standard.
Stoughton stated that, by removing timed_mutex, we level the playing field by removing a component that is difficult to implement correctly on Windows and Apple platforms.
Discussion ensued.
Boehm noted that this is not a frequently used facility. It was difficult to find uses through Google Code Search.
Nelson asked about the cost of leaving timed_mutex in the Working Paper
Stoughton replied that the document will specify two incompatible mutex types. The timed_mutex facility as it stands could be very simply implemented using 76 lines of code that Hinnant has already produced. This item doesn't need to be in the standard.
discussion ensued.
McKenney indicated that, if you have two mutex types, a simple mutex and a timed_mutex, and you export a simple mutex through a library interface, then a client cannot acquire a timed_mutex. As real-time computing predominates, this will become an important deficiency.
discussion ensued.
WG | favor | oppose | abstain |
J16 | 16 | 6 | 5 |
WG21 | 2 | 2 | 1 |
Motion 3. Move we apply WG21/N2549 "Excision of Clause 31" the C++0X Working Paper.
McKenney made the following statement, on IBM's behalf:
Although, given the possible outcomes, IBM would prefer ytime, IBM repectfully invokes the ANSI 2-week rule, but without prejudice. We believe that this will give members time to consider either improvements to existing proposals or new proposals that will better meet the needs of the C++ community. IBM would also like to take this opportunity to thank everyone for their efforts on this important topic.
Plum objected to the invocation of the 2-week rule, on the grounds that the sense of Motion 3 was completely foreshadowed by N2526, which was in the pre-meeting mailing. Furthermore, Plum argued that the ytime proposal (the subject of Motion 4, below), is not new, as it first appeared in document WG21/N2285.
Boehm noted that WG21/N2549 explicitly leaves dangling references in the Working Paper.
Clamage ruled that the two-week rule does not apply.
Boehm argued that there are a reasonable number of bugs in the code in N2552, and for that reason this is clearly not something that should be voted in at this meeting.
discussion ensued.
WG | favor | oppose | abstain |
J16 | 19 | 3 | 6 |
WG21 | 4 | 1 | 0 |
Motion 4. Move we apply WG21/N2552 "Using ytime for Times in the Thread Support Library" to the C++0X Working Paper.
WG | favor | oppose | abstain |
J16 | 6 | 16 | 6 |
WG21 | 0 | 5 | 0 |
Motion 5. Move we apply WG21/N2435 "Explicit bool for Smart Pointers" to the C++0X Working Paper.
This motion was withdrawn because there is a CWG issue that affects the explicit bool feature.
Motion 6. Move we apply WG21/N2543 "STL singly linked lists (revision 3)" to the C++0X Working Paper.
WG | favor | oppose | abstain |
J16 | 27 | 0 | 0 |
WG21 | 5 | 0 | 0 |
Motion 7. Move we apply WG21/N2551 "A variadic std::min(T, ...) for the C++ Standard Library (Revision 2)" to the C++0X Working Paper.
WG | favor | oppose | abstain |
J16 | lots | 0 | 3 |
WG21 | 5 | 0 | 0 |
Motion 8. Move we apply WG21/N2478 "A Proposal to Add typedef default_random_engine to C++0X" to the C++0X Working Paper.
Brown explained that this paper proposes to add a single typedef so that there will be a new symbol that represents the engine that the implementer recommends for use by the casual or inexpert user.
WG | favor | oppose | abstain |
J16 | 27 | 0 | 0 |
WG21 | 5 | 0 | 0 |
Motion 9. Move we apply WG21/N2554 "The Scoped Allocator Model (Rev 2)" to the C++0X Working Paper.
WG | favor | oppose | abstain |
J16 | 16 | 2 | 8 |
WG21 | 4 | 0 | 1 |
Motion 10. Move we apply WG21/N2525 "Allocator-specific Swap and Move Behavior" to the C++0X Working Paper.
Austern asked how this proposal affects list::splice.
Halpern replied that splice between containers with unequal allocators is undefined.
WG | favor | oppose | abstain |
J16 | 13 | 3 | 11 |
WG21 | 4 | 0 | 1 |
Motion 11. Move we apply WG21/N2509 "Nesting Exceptions" to the C++0X Working Paper.
WG | favor | oppose | abstain |
J16 | 15 | 0 | 12 |
WG21 | 4 | 0 | 1 |
Motion 1. Move WG21/N2546 "Removal of auto as a storage-class specifier" into the C++0X Working Paper.
Plum suggested that WG14 be invited to deprecate auto.
WG | favor | oppose | abstain |
J16 | lots | 0 | 0 |
WG21 | 5 | 0 | 0 |
Motion 2. Move WG21/N2547 "Allow atomics use in signal handlers" into the C++0X Working Paper.
WG | favor | oppose | abstain |
J16 | lots | 0 | 1 |
WG21 | 5 | 0 | 0 |
Motion 3. Move WG21/N2535 "Namespace Association ("inline namespace")" into the C++0X Working Paper.
WG | favor | oppose | abstain |
J16 | lots | 0 | 1 |
WG21 | 5 | 0 | 0 |
Motion 4. Move WG21/N2541 "New Function Declarator Syntax Wording" into the C++0x Working Paper.
WG | favor | oppose | abstain |
J16 | lots | 1 | 0 |
WG21 | 5 | 0 | 0 |
Motion 5. Move WG21/N2540 "Inheriting Constructors (revision 5)" into the C++0X Working Paper.
WG | favor | oppose | abstain |
J16 | lots | 2 | 2 |
WG21 | 5 | 0 | 0 |
Motion 6. Move WG21/N2544 "Unrestricted Unions (Revision 2)" into the C++0X Working Paper.
WG | favor | oppose | abstain |
J16 | lots | 1 | 3 |
WG21 | 5 | 0 | 0 |
Motion 7. Move WG21/N2555 "Extended Variadic Template Template Parameters (Revision 1)" into the C++0X Working Paper.
WG | favor | oppose | abstain |
J16 | lots | 0 | 6 |
WG21 | 4 | 0 | 1 |
Motion 8. Move WG21/N2550 "Lambda Expressions and Closures: Wording for Monomorphic Lambdas (Revision 4)" into the C++0X Working Paper.
Adamczyk reported that there is potentially an issue on Windows in that the syntax is similar to what is used for attributes. Also, this paper introduces a library component, and that component has not been reviewed by the LWG. It's expected that this review will occur within the next 24 hours. If there is any controversy over the library component, that part of the paper will be removed before this goes to formal vote tomorrow afternoon.
WG | favor | oppose | abstain |
J16 | 27 | 0 | 2 |
WG21 | 5 | 0 | 0 |
Friends of the Committee Move to grant the following organizations Friend of the Committee status:
Mover: Hedquist |
Seconder: Stoughton |
WG | favor | oppose | abstain |
J16 | unanimous consent |
J16 Liaisons Move that J16 approves the following members as liaisons to the designated committees:
Mover: Hedquist |
Seconder: Plauger |
WG | favor | oppose | abstain |
J16 | unanimous consent |
Motion 1. Move we apply the resolutions to the following issues from N2494 to the C++0X Working Paper:
527, 561, 562, 563, 567, 581, 620, 621, 622, 623, 624, 661, 664, 665, 666, 674, 675, 676, 679, 680, 687, 688, 689, 693, 694, 695, 700, 703, 705, 706
Mover: Hinnant |
Seconder: Plauger |
Gregor indicated that he had found a problem in the proposed resolution for 688, and that the author of the resolution agreed.
Hinnant proposed an amendment to the motion, dropping issue 688 from the list of issues to be considered. Plauger agreed to the amendment.
Amended Motion 1. Move we apply the resolutions to the following issues from N2494 to the C++0X Working Paper:
527, 561, 562, 563, 567, 581, 620, 621, 622, 623, 624, 661, 664, 665, 666, 674, 675, 676, 679, 680, 687, 689, 693, 694, 695, 700, 703, 705, 706
WG | favor | oppose | abstain |
J16 | 27 | 0 | 0 |
WG21 | 5 | 0 | 0 |
Motion 2. Move we apply WG21/N2528 "Timed_mutex in C++0x" to the C++0X Working Paper.
Lakos requested further explanation of the reasons for the removal of timed_mutex.
Boehm responded by mentioning that it is a relatively minor component, and that it will be seldom used. Furthermore, there is a possibility that, in the future, the base mutex will support this capability. For that reason, the proposal is to defer the introduction of this capability to a TR.
Lakos suggested allowing an implementation to provide timed_mutex in the form of a typedef which my or may not have the same underlying type as the base mutex. He attributed this idea to Dietmar Kühl.
Mover: Hinnant |
Seconder: Plauger |
WG | favor | oppose | abstain |
J16 | 15 | 7 | 5 |
WG21 | 2 | 2 | 1 |
The motion did not carry.
Motion 3. Move we apply WG21/N2549 "Excision of Clause 31" the C++0X Working Paper.
Mover: Hinnant |
Seconder: Plum |
WG | favor | oppose | abstain |
J16 | 18 | 2 | 7 |
WG21 | 4 | 1 | 0 |
Motion 4. Move we apply WG21/N2543 "STL singly linked lists (revision 3)" to the C++0X Working Paper.
Mover: Hinnant |
Seconder: Halpern |
WG | favor | oppose | abstain |
J16 | 27 | 0 | 0 |
WG21 | 5 | 0 | 0 |
Motion 5. Move we apply WG21/N2551 "A variadic std::min(T, ...) for the C++ Standard Library (Revision 2)" to the C++0X Working Paper.
Mover: Hinnant |
Seconder: Stoughton |
Glassborow indicated that various UK national experts have considered this proposal since straw votes were taken on Friday, and that the UK will be voting no.
WG | favor | oppose | abstain |
J16 | 15 | 6 | 6 |
WG21 | 4 | 1 | 0 |
Motion 6. Move we apply WG21/N2478 "A Proposal to Add typedef default_random_engine to C++0X" to the C++0X Working Paper.
Mover: Hinnant |
Seconder: Brown |
WG | favor | oppose | abstain |
J16 | 27 | 0 | 0 |
WG21 | 5 | 0 | 0 |
Motion 7. Move we apply WG21/N2554 "The Scoped Allocator Model (Rev 2)" to the C++0X Working Paper.
Gregor announced his intention to vote against this proposal, noting that it doubles the number of constructors in simple containers, and that pair will now have 14 constructors. He expects that this new facility will be used only rarely, yet all programmers will be forced to contend with the added interface complexity that this proposal entails.
Halpern did not agree that this new facility will be used only rarely, or that the increased interface complexity is onerous.
Mover: Hinnant |
Seconder: Halpern |
WG | favor | oppose | abstain |
J16 | 14 | 4 | 9 |
WG21 | 3 | 0 | 2 |
Motion 8. Move we apply WG21/N2525 "Allocator-specific Swap and Move Behavior" to the C++0X Working Paper.
Mover: Hinnant |
Seconder: Halpern |
WG | favor | oppose | abstain |
J16 | 24 | 1 | 2 |
WG21 | 4 | 0 | 1 |
Motion 9. Move we apply WG21/N2559 "Nesting Exceptions" to the C++0X Working Paper.
Witt announced his belief that there are defects in the paper and that it is not ready for approval.
Mover: Hinnant |
Seconder: Meredith |
WG | favor | oppose | abstain |
J16 | 15 | 1 | 11 |
WG21 | 4 | 0 | 1 |
Motion 1. Move WG21/N2546 "Removal of auto as a storage-class specifier" into the C++0X Working Paper.
Mover: Adamczyk |
Seconder: Widman |
WG | favor | oppose | abstain |
J16 | 26 | 0 | 0 |
WG21 | 5 | 0 | 0 |
Motion 2. Move WG21/N2547 "Allow atomics use in signal handlers" into the C++0X Working Paper.
Mover: Adamczyk |
Seconder: Stoughton |
WG | favor | oppose | abstain |
J16 | 26 | 0 | 0 |
WG21 | 5 | 0 | 0 |
Motion 3. Move WG21/N2535 "Namespace Association ("inline namespace")" into the C++0X Working Paper.
Mover: Adamczyk |
Seconder: Meredith |
WG | favor | oppose | abstain |
J16 | 26 | 0 | 0 |
WG21 | 5 | 0 | 0 |
Motion 4. Move WG21/N2541 "New Function Declarator Syntax Wording" into the C++0x Working Paper.
Mover: Adamczyk |
Seconder: Dos Reis |
WG | favor | oppose | abstain |
J16 | 25 | 1 | 0 |
WG21 | 5 | 0 | 0 |
Motion 5. Move WG21/N2540 "Inheriting Constructors (revision 5)" into the C++0X Working Paper.
Mover: Adamczyk |
Seconder: Wong |
WG | favor | oppose | abstain |
J16 | 24 | 2 | 0 |
WG21 | 5 | 0 | 0 |
Motion 6. Move WG21/N2544 "Unrestricted Unions (Revision 2)" into the C++0X Working Paper.
Mover: Adamczyk |
Seconder: Talbot |
WG | favor | oppose | abstain |
J16 | 24 | 0 | 3 |
WG21 | 5 | 0 | 0 |
Motion 7. Move WG21/N2555 "Extended Variadic Template Template Parameters (Revision 1)" into the C++0X Working Paper.
Mover: Adamczyk |
Seconder: Meredith |
WG | favor | oppose | abstain |
J16 | 25 | 0 | 2 |
WG21 | 5 | 0 | 0 |
Motion 8. Move WG21/N2550 "Lambda Expressions and Closures: Wording for Monomorphic Lambdas (Revision 4)" into the C++0X Working Paper.
Adamczyk reported that the library section of this paper is now reviewed by LWG.
During LWG's review, it was noticed that the semantics of a delete
d function were specified elsewhere. This is a clear contradiction in the paper, so the semantics were removed from the current revision of the paper.
Vandevoorde cited evidence that the performance advantages of making reference_closure a standard function were inadvertantly exaggerated during technical discussions.
Crowl replied that the numbers cited were from deployed software, explaining that the hard numbers that have been reported are well represented. If techniques are discovered that make reference_closure unnecessary for performance reasons, he will support the removal of the type.
Mover: Adamczyk |
Seconder: Crowl |
WG | favor | oppose | abstain |
J16 | 26 | 0 | 1 |
WG21 | 5 | 0 | 0 |
See 11.1, below.
None.
June 8-13, 2008 in Sophia Antipolis, France
Nelson reported the following mailing deadlines:
post-meeting mailing | March 14, 2008 |
pre-Nice mailing | May 16, 2008 |
The following meetings are as follows:
Motion to adjourn
Mover: Plauger |
Seconder: Gregor |
Unanimous consent.
Company/Organization | Representative | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|---|
Adobe Systems | Mat Marcus | V | V | V | V | V | V |
Adobe Systems | Sean Parent | A | A | ||||
Apple Computer | Howard E. Hinnant | V | V | V | V | V | V |
Bloomberg | John Lakos | V | V | V | V | V | V |
Bloomberg | Pablo Halpern | A | A | A | |||
Bloomberg | Dietmar Kühl | A | A | A | A | A | A |
Boost Consulting | Eric Niebler | A | A | A | A | A | A |
Borland International | Alisdair Meredith | V | V | V | V | V | V |
Dawes | Beman G. Dawes | V | V | V | V | V | V |
Seymour | Bill Seymour | A | A | A | A | A | A |
Dinkumware | P. J. Plauger | V | V | V | V | V | V |
Dinkumware | Tana Plauger | A | A | A | A | A | A |
Dinkumware | Christopher Walker | A | A | A | A | A | |
Edison Design Group | J. Stephen Adamczyk | V | V | V | V | V | V |
Edison Design Group | Daveed Vandevoorde | A | A | A | A | A | A |
Edison Design Group | John H. Spicer | A | A | A | A | A | A |
Edison Design Group | Mike Herrick | A | A | A | A | A | A |
Edison Design Group | William M. Miller | A | A | A | A | A | A |
Fermi Nat. Accelerator Lab | Walter E. Brown | V | V | V | V | V | V |
Gimpel Software | James Widman | V | V | V | V | V | V |
Matthew Austern | V | V | V | V | V | V | |
Lawrence Crowl | A | A | A | A | A | A | |
PremAnand Rao | Hans Boehm | V | V | V | V | V | V |
Hewlett-Packard | Hans Boehm | A | A | A | A | A | A |
IBM | Robert Klarer | V | V | V | V | V | V |
IBM | Michael Wong | A | A | A | A | A | A |
IBM | Paul McKenney | A | A | A | A | A | A |
Indiana University | Doug Gregor | V | V | V | V | V | V |
Intel | Clark Nelson | V | V | V | V | V | V |
Microsoft | Jonathan Caves | V | V | V | V | V | V |
Microsoft | Herb Sutter | A | A | A | A | A | A |
National ICT Australia | Manfred Doudar | V | V | V | V | V | V |
Perennial | Barry Hedquist | V | V | V | V | V | V |
Plum Hall | Thomas Plum | V | V | V | V | V | V |
Plum Hall | Francis W. Glassborow | A | A | A | A | A | A |
Red Hat | Jason Merrill | V | V | V | V | V | V |
Red Hat | Benjamin Kosnik | A | A | A | A | A | A |
Red Hat | Ulrich Drepper | A | |||||
Rogue Wave Software | Martin Sebor | V | V | V | |||
Roundhouse Consulting | Pete Becker | V | V | V | V | V | V |
Sandia National Labs | K. Noel Belcourt | V | V | V | V | V | |
Sun Microsystems | Stephen D. Clamage | V | V | V | V | V | V |
Tele Atlas | Alan Talbot | V | V | V | V | V | V |
Texas A&M | Bjarne Stroustrup | V | V | V | V | V | V |
Texas A&M | Jaakko Järvi | A | A | A | A | ||
USENIX | Nick Stoughton | V | V | V | V | V | V |
Zephyr Associates | Thomas Witt | V | V | V | V | V | V |
Amazon.com | Gary Powell | N | N | N | N | N | N |
CrystalClear Software | Jeff Garland | N | N | N | N | N | |
Digital Mars | Walter Bright | N | |||||
INRIA | Sylvain Pion | N | N | N | N | ||
Integrable Solutions | Gabriel Dos Reis | N | N | N | N | N | N |
Interactive Data Managed Solutions | Jens Maurer | N | N | N | N | N | N |
Vollmann Engineering | Detlef Vollmann | N | N | N | N | N | N |
Blair Mckay | N | N | N | N | N | N |