home *** CD-ROM | disk | FTP | other *** search
- Submitted-by: pc@hillside.co.uk (Peter Collinson)
-
- USENIX Standards Watchdog Committee
- Stephen R. Walli <stephe@usenix.org>, Report Editor
- Report on X3J16: C++
-
-
- Mike Vilot <mjv@objects.mv.com> reports on the March, 1991 meeting in
- Nashua, New Hampshire:
-
- Current Status
-
- The ANSI X3J16 committee began its second year of technical meetings.
- As expected, the work grew more detailed, with the Core Language and
- Environment working groups being the focus of most of X3J16's work.
-
- March meeting
-
- Digital Equipment hosted the Nashua meeting. The week's major
- activities focused on understanding the myriad details of the proposed
- clarifications and changes to the current working document.
-
- X3J16's sub-groups focused on the key topics listed in the goals
- statement developed at the March, 1990 meeting. They worked by
- electronic mail between meetings, and reported their progress.
-
- International Concerns
-
- Steve Carter, of Bellcore, presented the major international
- concerns.
-
- Due to the concerns expressed at the November meeting about conversion
- to a Type I (international) X3 process, Steve came prepared with
- material explaining the implications of the change. To all
- appearances, the change seems benign to the technical work of the
- committee. The change would have the positive effect of getting
- international involvement. It has the potential to delay the
- development of the standard, due to the need to synchronize U.S. and
- ISO balloting.
-
- The full X3J16 committee almost decided to vote to adopt the change,
- but ran out of the quorum necessary to pass the motion on Friday
- morning.
-
- Editorial
-
- Jonathan Shopiro, of AT&T, presented the Editorial group's
- work.
-
- The most significant change from the November version was the
- incorporation of the exception handling proposal. Jonathan also
- described an editorial change that simplified the treatment of names
- and name lookup, merging the concepts that had previously been treated
- under the topics of dominance and name hiding. Martin O'Riordan, of
- Microsoft, questioned whether this was a purely editorial change, or a
- change to the language semantics. Martin and others reqeusted time to
- look over the change before agreeing to it.
-
- As I mentioned last time, the person who volunteered to edit the
- Rationale document has not been heard from since last summer. Susan
- Waggoner, of USWest, has taken on that responsibility.
-
- Formal Syntax
-
- James Roskind, an independent consultant, presented the work
- of the Formal Syntax group.
-
- The bulk of the discussion concerned a proposal by Reg Charney of
- Program Conversions, Inc. to rename the non- terminals in the
- grammar. Although there was much discussion about the virtues of
- regularizing the naming versus the evils of gratuitous changes, the
- committee decided, in the end, to adopt the proposal.
-
- Eric Krohn, of Bellcore, presented the syntactic ambiguities involving
- the newly-adopted throw-expression syntax for exceptions. The
- discussion clarified the issues, and a final resolution is likely next
- meeting.
-
- Tom Penello, of Metaware, gave an interesting presentation on the
- inherent problems with ambiguous grammars. He established the fact
- that an ambigous grammar makes the question of a conforming
- implementation undecidable. He also illustrated that arbitrary rules
- to resolve grammatical ambiguities has the side-effect of rejecting
- valid programs.
-
- He then went on to explain the syntactic ambiguities of the template
- syntax, arising from the conflict over using the ``>'' symbol as both
- a relational operator and a template argument list delimiter.
- Although he proposed a grammar rewrite that solved the problem, he
- decided not to recommend it on aesthetic grounds.
-
- There seems to be an appreciation within X3J16 as a whole for the
- technical issues involved in making the grammar correct. There also
- seems to be a sentiment in favor of letting the semantic rules settle
- most of the complex issues.
-
- Core Language
-
- Andy Koenig, of AT&T, presented the Core Language group's
- work.
-
- Document X3J16/91-0005 describes the group's discussion about the
- linkage of typedef names and anonymous classes. The group decided it
- was an Environmental issue, and handed it off to the Environment group.
-
- The group discussed objects created under a condition, and resolved to
- consider those objects governed by an implicit block scope, as if the
- programmer had explicitly supplied a compound statement. Discussion
- is summarized in X3J16/91- 0021.
-
- Document 91-0019 covers the discussion of lifetimes for temporary
- objects created by the compiler. This issue has not reached closure,
- although the issues were clarified.
-
- Environment
-
- Peter Chapin, of Vermont Technical College, presented the
- work of the Environment group.
-
- Document X3J16/91-0011 describes the group's discussion about C/C++
- compatibility issues. This discussion is continuing.
-
- The group discussed at length the one definition rule - enforcing the
- rule that a program must have exactly one definition for a given
- function, even in the presence of multiple inclusions of inline
- functions and the potential need for the compiler to generate such
- functions out of line. Document X3J16/91-0024 summarizes the
- discussion.
-
- There is a proposal to include a section in the standard on required
- warnings. Laura Yaker, now at Mentor Graphics, presented some ideas
- of the sorts of things that might be considered as required warnings.
- The discussion indicated that this is a difficult issue to
- standardize, since there is so much variation in environments and
- implementations. This ongoing discussion is summarized in
- X3J16/91-0014.
-
- Another ongoing discussion concerns static initialization order for
- objects in different translation units. Document X3J16/91-0012
- summarizes this discussion.
-
- There was some discussion on specifying translation limits in the
- standard. The discussion seemed to generate more heat than light, and
- nothing was decided.
-
- Lastly, the linkage of types discussion continues, and is summarized
- in X3J16/91-0023. Peter described several alternate rules to insure
- type-safe linkage of types. A central issue is whether the linkage
- specification is part of the type. There are interesting arguments
- for and against this.
-
- Libraries
-
- I presented the Library group's work.
-
- There has been some progress on formulating proposals for submission
- to X3J16. Aron Insinga of DEC presented his proposal to apply
- templates to the definition of the standard string class. His
- progress has been slowed by the lack of an available implementation
- supporting templates.
-
- Steve Clamage of TauMetric presented proposed resolutions for almost
- all of the compatibility issues regarding the C library. Most of the
- small type insecurities can be handled in a reasonably straightforward
- manner. There are more substantial issues regarding signals,
- exceptions and the facilities provided by longjmp().
-
- The iostreams proposal continues to receive comment. Many of the
- UNIX-specific issues have been removed. Addressing these concerns
- raised an interesting point - should the C++ standard adopt the
- practice of the C standard, in describing only that certain 'types'
- exist, or should it describe them as classes and specify their
- required operations? There was some concern that describing classes
- would be inefficient, but other concerns that the vague wording
- without a class description would introduce too much variability among
- implementations.
-
- Language Extensions
-
- Bjarne Stroustrup, of AT&T, presented the work of the
- Extensions group.
-
- The group is working through a long list of proposals for changes to
- the language. A significant number of them came from the Core
- language group, due to an evaluation of what Andy Koenig calls for
- changing the wording of the standard would have the effect of changing
- the meaning of the language.
-
- The current list of language extension proposals includes overloading
- of the ``.'' operator, a proposal for handling national character set
- issues with digraphs and new keywords, and the adoption of the
- ``inherited'' keyword (as in Apple's implementation).
-
- The largest issue lurking in the Extensions category is the addition
- of support for run-time type information. There will be much
- discussion on this topic over the next months.
-
- C Compatibility
-
- Tom Plum, of Plum-Hall, presented the work of the C
- Compatibility group.
-
- The group continued its investigation of the vocabulary differences
- between C and C++. They decided to categorize their efforts into
- groups, covering the language, environment, and library. One likely
- outcome of their work will be a proposal to adopt the same model of
- sequence points used by X3J11.
-
- Next events
-
- The next three X3J16 1991 meetings (and their hosts) will
- be:
-
- o June 17-21, Lund Sweden (Lund Institute of Technology)
-
- o November 11-15, Toronto Canada (IBM)
-
- o March 1992, Austin TX (TI)
-
- Zortech announced plans to host one of the other two 1992 meetings in
- London.
-
- Membership on an X3 committee is open to any individual or
- organization with expertise and material interest in the topic
- addressed by the committee. The cost for membership is $250. Contact
- the chair or vice chair for details.
-
- Chair:
- Dmitry Lenkov
- HP California Language Lab
- 19447 Pruneridge Avenue MS 47 LE
- Cupertino,
- CA 95014
- + 1 (408)447-5279
- FAX: +1 (408)447-4924
- email dmitryhpda@hplabs.hp.com
-
- Vice Chair:
- William M. Miller
- Glockenspiel, Ltd
- P.O.Box 366
- Sudbury,
- MA 01776-0003
- +1 (508)443-5779
- email wmmiller@cup.portal.com
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Volume-Number: Volume 24, Number 24
-
-