home *** CD-ROM | disk | FTP | other *** search
- .\" Uses -mm macros
- .ds Rh "X3J16: C++
- .ds Au "Mike Vilot <mjv@objects.mv.com>
- .ds Dy "August, 1991
- .ds Dt "June, 1991
- .ds Lo "Lund, Sweden
- .ds Ed "Stephen R. Walli <stephe@usenix.org>
- .ds Wd "USENIX Standards Watchdog Committee
- .if '\*(Su'' \{\
- .ds Su "the \*(Dt meeting in \*(Lo:
- .\}
- .if n \{\
- .tm Subject: Standards Update, \*(Rh
- .tm From: \*(Ed
- .tm Reply-To: std-unix@uunet.uu.net
- .tm Organization: \*(Wd
- .tm
- .\}
- .if n \{\
- .nh
- .na
- .\}
- .AU "\*(Wd"
- .AF "\*(Ed, Report Editor"
- .MT 4
- .S 12
- \*(Rh
- .sp
- .P
- \fB\*(Au\fP
- reports on \*(Su
- .P
- .HU "Current Status"
- .P
- The \s-1ANSI\s0 \s-1X3J16\s0 committee took a major step
- towards internationalization at its June meeting.
- This was the first joint meeting between \s-1X3J16\s0 and
- \s-1ISO\s0 \s-1WG21\s0.
- \s-1WG21\s0 is the \s-1ISO\s0 C++ working group.
- \s-1X3J16\s0 and \s-1WG21\s0 are roughly
- peer organizations.
- .P
- .HU "June meeting"
- .P
- The Lund Institute of Technology hosted the meeting in
- Sweden.
- The week's major activities focused on understanding the
- myriad details of producing a single, international C++
- language standard.
- .P
- The \s-1X3J16\s0's sub-groups focus was 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.
- .br
- .P
- .B "International Concerns"
- .br
- Steve Carter, of Bellcore, presented the major international
- concerns.
- .P
- International cooperation is an explicit goal of
- \s-1X3J16\s0,
- and the committee devoted the entire first
- day's discussion to international concerns.
- Most members want to avoid the
- difficulties encountered during the development of the C
- language standard.
- .P
- Much of the work focused on attaining a smooth
- coordination with \s-1WG21\s0 without losing technical
- effectiveness.
- The committee agreed to continue
- emphasizing informal discussions and informal "straw votes"
- before making formal decisions.
- All members of \s-1WG21\s0 will be added to the
- email lists, and will receive \s-1X3J16\s0
- paper mailings.
- .P
- On the other side, \s-1WG21\s0 voted to hold its technical
- meetings jointly with \s-1X3J16\s0.
- They appointed Jonathan Shopiro as their editor,
- which means both committees have the same editor.
- .P
- \s-1X3J16\s0 decided to conduct a letter ballot on the
- question of converting to a Type "I" process.
- This means developing an international standard, rather
- than developing a domestic standard followed by an
- international standard (as was the case for the C language).
- A straw vote indicated most members would vote in favor of
- the change.
- .P
- The committee dissolved the International Concerns
- working group, since it has served its purpose.
- Steve
- Carter, serving as Convener of \s-1WG21\s0, will continue to
- address international C++ concerns.
- .P
- .B "Editorial"
- .br
- Jonathan Shopiro, of \s-1AT&T\s0, presented the Editorial
- group's work.
- .P
- The 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,
- remained in the document.
- .P
- Much of the recent work on the document has been in
- clarifying or defining basic terms.
- For example,
- the basic
- unit of storage is a byte
- In the C standard,
- it is a
- character,
- which confuses the notion of what type "char" is
- supposed to represent,
- especially in light of 8-bit and
- larger character sets.
- The process of resolving the definitions of the two base
- documents
- continues.
- (These are the Annotated C++ Reference Manual and the C
- standard.)
- .P
- One minor change to the document format:
- the size is now
- suitable for A4 paper.
- .P
- .B "Formal Syntax"
- .br
- Reg Charney, of Program Conversions, presented the work of
- the Formal Syntax group.
- .P
- The bulk of the discussion concerned the change that renamed
- most of the non-terminals in the grammar.
- There are still more proposed changes.
- .P
- The conflict between the virtues of regularizing the naming
- versus the evils of gratuitous changes resurfaced.
- Bjarne Stroustrup made the strongest criticism,
- observing
- that the changes had been proposed and adopted without
- sufficient principles.
- He noted that the lack of such principles invited the kind of
- "random changes" that were presented at the June meeting.
- He also observed that the changes had not even been checked
- against the C standard's grammar.
- .P
- .B "Core Language"
- .br
- Andy Koenig, of \s-1AT&T\s0, presented the Core Language
- group's work.
- .P
- Most of the Core Language discussion centered on name resolution issues.
- These issues are highlighted by the interactions of nested
- classes,
- inline friend function definitions,
- and static class
- members.
- .P
- This work has helped identify ambiguities in the
- present wording.
- Although there has been progress, open issues remain.
- For example,
- defining a friend function in a class causes the
- name of the friend to be made available in an "enclosing"
- scope.
- The cases involving nested and local classes still have to be
- resolved.
- .P
- .B "Environment"
- .br
- John Wilkinson, of Silicon Graphics, presented the work of
- the Environment group.
- .P
- Discussion continued on static
- initialization order for objects in different translation
- units.
- The group proposed two new
- rules intended to provide correct initialization that still
- accommodated dynamic linking:
- .DL
- .LI
- Nonlocal static objects defined in a translation unit must be
- initialized in the order that the definitions appear in the
- translation unit.
- .LI
- The nonlocal static objects defined in a translation unit
- must be initialized before any object or function defined in
- that unit is used by any other translation unit;
- the nonlocal
- objects defined in the translation unit containing main()
- must be initialized before control enters main().
- .LE
- .P
- Specifying translation limits in
- the standard was discussed,
- but
- seemed to generate more heat than light, and
- nothing was decided.
- .P
- .B "Libraries"
- .br
- Jerry Schwarz, of Lucid, presented the Library group's work.
- .P
- There is an evolving proposal for a standard string class,
- and its interaction with
- internationalization concerns.
- The tradeoff involves generality
- (strings of both single- and
- multi-byte characters)
- versus efficient implementation.
- This discussion continues.
- .P
- The group also worked on issues of conformance, and
- describing the options available to implementations that
- choose to extend the standard library.
- For example,
- the implementation may provide the standard
- classes by deriving them from base classes not mentioned in
- the standard,
- or as instances of templates not mentioned in
- the standard.
- As another example,
- an implementation may add members to a
- class definition,
- with the constraint that private virtual
- functions must be in the implementation name space.
- .P
- Work also progressed on standard exceptions.
- One line of investigation is to use exceptions to clarify
- those aspects of the language that are vague or "undefined."
- For example,
- the default new_handler could throw a
- storage_error exception.
- .P
- .B "Language Extensions"
- .br
- Bjarne Stroustrup, of \s-1AT&T\s0, presented the work of the
- Extensions group.
- .P
- The group proposed
- a change that
- adds digraphs and new keywords as synonyms for certain
- characters.
- For example, '{' can be written as '<%', '&=' as 'and_eq',
- and so on.
- This allows expression of C++ programs in character sets that
- do not include certain of the ASCII characters.
- It is a proposal Bjarne has been working on with Keld
- Simonsen for over a year,
- and their work has been coordinated
- with the \s-1ISO\s0 \s-1WG14\s0 (C language).
- The committee adopted this proposal.
- .P
- The group is working through a long list of proposals for
- changes to the language.
- Some of the items are:
- .DL
- .LI
- adding 8-bit (i.e. international) characters in identifiers;
- .LI
- allowing virtual functions in a derived class to use a more
- specific return type than the base class' version of the
- function;
- .LI
- allowing overloading of operator . (dot);
- .LI
- a name space control mechanism.
- .LE 1
- The largest issue currently 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.
- .P
- .B "C Compatibility"
- .br
- Tom Plum, of Plum-Hall, presented the work of the C
- Compatibility group.
- .P
- The group continued its investigation of the vocabulary
- differences between C and C++.
- Only a few of the differences have been resolved, and Tom
- plans to meet with Jon Shapiro to decide which terms can be
- incorporated as C++ definitions.
- .P
- .HU "Next events"
- .P
- The next three X\s-1\&3J16\s0 1991 meetings (and their hosts)
- will be:
- .BL
- .LI
- November 11-15,
- Austin \s-1TX\s0 (TI)
- .LI
- March 9-13 (or 16-20) 1992,
- London, UK (BSI and Zortech)
- .LI
- July 13-17
- Toronto Canada (IBM)
- .LE 1
- .P
- Membership on an \s-1X3\s0 committee is open to any
- individual or organization with expertise and material
- interest in the topic addressed by the committee.
- The cost for voting or observer membership is $250.
- Contact the chair or vice chair for details.
- .P
- .nf
- .P
- Chair: Dmitry Lenkov
- \s-1HP\s0 California Language Lab
- 19447 Pruneridge Avenue \s-1MS\s0 47 \s-1LE\s0
- Cupertino, \s-1CA\s0 95014
- (408)447-5279
- \s-1FAX\s0 (408)447-4924
- email dmitry\%hpda@hplabs.hp.com
- .P
- Vice Chair: William M. Miller
- Glockenspiel, Ltd
- P.O. Box 366
- Sudbury, \s-1MA\s0 01776-0003
- (508)443-5779
- email wmm@world.std.com
- .fi
-