home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / std_unix / reports / x3j16 < prev    next >
Text File  |  1991-09-06  |  9KB  |  330 lines

  1. .\" Uses -mm macros
  2. .ds Rh "X3J16: C++
  3. .ds Au "Mike Vilot <mjv@objects.mv.com>
  4. .ds Dy "August, 1991
  5. .ds Dt "June, 1991
  6. .ds Lo "Lund, Sweden
  7. .ds Ed "Stephen R. Walli <stephe@usenix.org>
  8. .ds Wd "USENIX Standards Watchdog Committee
  9. .if '\*(Su'' \{\
  10. .ds Su "the \*(Dt meeting in \*(Lo:
  11. .\}
  12. .if n \{\
  13. .tm Subject: Standards Update, \*(Rh
  14. .tm From: \*(Ed
  15. .tm Reply-To: std-unix@uunet.uu.net
  16. .tm Organization: \*(Wd
  17. .tm
  18. .\}
  19. .if n \{\
  20. .nh
  21. .na
  22. .\}
  23. .AU "\*(Wd"
  24. .AF "\*(Ed, Report Editor"
  25. .MT 4
  26. .S 12
  27. \*(Rh
  28. .sp
  29. .P
  30. \fB\*(Au\fP
  31. reports on \*(Su
  32. .P
  33. .HU "Current Status"
  34. .P
  35. The \s-1ANSI\s0 \s-1X3J16\s0 committee took a major step 
  36. towards internationalization at its June meeting.
  37. This was the first joint meeting between \s-1X3J16\s0 and 
  38. \s-1ISO\s0 \s-1WG21\s0.
  39. \s-1WG21\s0 is the \s-1ISO\s0 C++ working group.
  40. \s-1X3J16\s0 and \s-1WG21\s0 are roughly 
  41. peer organizations.
  42. .P
  43. .HU "June meeting"
  44. .P
  45. The Lund Institute of Technology hosted the meeting in 
  46. Sweden.
  47. The week's major activities focused on understanding the 
  48. myriad details of producing a single, international C++ 
  49. language standard.
  50. .P
  51. The \s-1X3J16\s0's sub-groups focus was on the key topics listed in 
  52. the goals statement developed at the March, 1990 meeting.
  53. They worked by electronic mail between meetings, and reported 
  54. their progress.
  55. .br
  56. .P
  57. .B "International Concerns"
  58. .br
  59. Steve Carter, of Bellcore, presented the major international 
  60. concerns.
  61. .P
  62. International cooperation is an explicit goal of   
  63. \s-1X3J16\s0, 
  64. and the committee devoted the entire first 
  65. day's discussion to international concerns.
  66. Most members want to avoid the 
  67. difficulties encountered during the development of the C 
  68. language standard. 
  69. .P
  70. Much of the work focused on attaining a smooth 
  71. coordination with \s-1WG21\s0 without losing technical 
  72. effectiveness.
  73. The committee agreed to continue 
  74. emphasizing informal discussions and informal "straw votes" 
  75. before making formal decisions.
  76. All members of \s-1WG21\s0 will be added to the 
  77. email lists, and will receive \s-1X3J16\s0 
  78. paper mailings.
  79. .P
  80. On the other side, \s-1WG21\s0 voted to hold its technical 
  81. meetings jointly with \s-1X3J16\s0.
  82. They appointed Jonathan Shopiro as their editor, 
  83. which means both committees have the same editor. 
  84. .P
  85. \s-1X3J16\s0 decided to conduct a letter ballot on the 
  86. question of converting to a Type "I" process.
  87. This means developing an international standard, rather 
  88. than developing a domestic standard followed by an 
  89. international standard (as was the case for the C language).
  90. A straw vote indicated most members would vote in favor of 
  91. the change.
  92. .P
  93. The committee dissolved the International Concerns 
  94. working group, since it has served its purpose.  
  95. Steve 
  96. Carter, serving as Convener of \s-1WG21\s0, will continue to 
  97. address international C++ concerns.
  98. .P
  99. .B "Editorial"
  100. .br
  101. Jonathan Shopiro, of \s-1AT&T\s0, presented the Editorial 
  102. group's work.
  103. .P
  104. The editorial change that simplified the treatment of names 
  105. and name lookup, 
  106. merging the concepts that had previously 
  107. been treated under the topics of dominance and name hiding, 
  108. remained in the document.
  109. .P
  110. Much of the recent work on the document has been in 
  111. clarifying or defining basic terms.  
  112. For example, 
  113. the basic 
  114. unit of storage is a byte 
  115. In the C standard, 
  116. it is a 
  117. character, 
  118. which confuses the notion of what type "char" is 
  119. supposed to represent, 
  120. especially in light of 8-bit and 
  121. larger character sets.
  122. The process of resolving the definitions of the two base 
  123. documents 
  124. continues.
  125. (These are the Annotated C++ Reference Manual and the C 
  126. standard.) 
  127. .P
  128. One minor change to the document format:  
  129. the size is now 
  130. suitable for A4 paper.
  131. .P
  132. .B "Formal Syntax"
  133. .br
  134. Reg Charney, of Program Conversions, presented the work of 
  135. the Formal Syntax group.
  136. .P
  137. The bulk of the discussion concerned the change that renamed 
  138. most of the non-terminals in the grammar.
  139. There are still more proposed changes. 
  140. .P
  141. The conflict between the virtues of regularizing the naming 
  142. versus the evils of gratuitous changes resurfaced.
  143. Bjarne Stroustrup made the strongest criticism, 
  144. observing 
  145. that the changes had been proposed and adopted without 
  146. sufficient principles.
  147. He noted that the lack of such principles invited the kind of 
  148. "random changes" that were presented at the June meeting.
  149. He also observed that the changes had not even been checked 
  150. against the C standard's grammar.
  151. .P
  152. .B "Core Language"
  153. .br
  154. Andy Koenig, of \s-1AT&T\s0, presented the Core Language 
  155. group's work.
  156. .P
  157. Most of the Core Language discussion centered on name resolution issues.
  158. These issues are highlighted by the interactions of nested 
  159. classes, 
  160. inline friend function definitions, 
  161. and static class 
  162. members.
  163. .P
  164. This work has helped identify ambiguities in the 
  165. present wording.
  166. Although there has been progress, open issues remain.
  167. For example, 
  168. defining a friend function in a class causes the 
  169. name of the friend to be made available in an "enclosing" 
  170. scope.
  171. The cases involving nested and local classes still have to be 
  172. resolved.
  173. .P
  174. .B "Environment"
  175. .br
  176. John Wilkinson, of Silicon Graphics, presented the work of 
  177. the Environment group.
  178. .P
  179. Discussion continued on static 
  180. initialization order for objects in different translation 
  181. units.
  182. The group proposed two new 
  183. rules intended to provide correct initialization that still 
  184. accommodated dynamic linking:
  185. .DL
  186. .LI
  187. Nonlocal static objects defined in a translation unit must be 
  188. initialized in the order that the definitions appear in the 
  189. translation unit.
  190. .LI
  191. The nonlocal static objects defined in a translation unit 
  192. must be initialized before any object or function defined in 
  193. that unit is used by any other translation unit; 
  194. the nonlocal 
  195. objects defined in the translation unit containing main() 
  196. must be initialized before control enters main().
  197. .LE
  198. .P
  199. Specifying translation limits in 
  200. the standard was discussed, 
  201. but 
  202. seemed to generate more heat than light, and 
  203. nothing was decided.
  204. .P
  205. .B "Libraries"
  206. .br
  207. Jerry Schwarz, of Lucid, presented the Library group's work.
  208. .P
  209. There is an evolving proposal for a standard string class, 
  210. and its interaction with 
  211. internationalization concerns.
  212. The tradeoff involves generality 
  213. (strings of both single- and 
  214. multi-byte characters) 
  215. versus efficient implementation.
  216. This discussion continues.
  217. .P
  218. The group also worked on issues of conformance, and 
  219. describing the options available to implementations that 
  220. choose to extend the standard library.
  221. For example, 
  222. the implementation may provide the standard 
  223. classes by deriving them from base classes not mentioned in 
  224. the standard, 
  225. or as instances of templates not mentioned in 
  226. the standard.
  227. As another example, 
  228. an implementation may add members to a 
  229. class definition, 
  230. with the constraint that private virtual 
  231. functions must be in the implementation name space.
  232. .P
  233. Work also progressed on standard exceptions.
  234. One line of investigation is to use exceptions to clarify 
  235. those aspects of the language that are vague or "undefined."
  236. For example, 
  237. the default new_handler could throw a 
  238. storage_error exception.
  239. .P
  240. .B "Language Extensions"
  241. .br
  242. Bjarne Stroustrup, of \s-1AT&T\s0, presented the work of the 
  243. Extensions group.
  244. .P
  245. The group proposed 
  246. a change that 
  247. adds digraphs and new keywords as synonyms for certain 
  248. characters.
  249. For example, '{' can be written as '<%', '&=' as 'and_eq', 
  250. and so on.
  251. This allows expression of C++ programs in character sets that 
  252. do not include certain of the ASCII characters.
  253. It is a proposal Bjarne has been working on with Keld 
  254. Simonsen for over a year, 
  255. and their work has been coordinated 
  256. with the \s-1ISO\s0 \s-1WG14\s0 (C language).
  257. The committee adopted this proposal.  
  258. .P
  259. The group is working through a long list of proposals for 
  260. changes to the language.
  261. Some of the items are:
  262. .DL
  263. .LI
  264. adding 8-bit (i.e. international) characters in identifiers;
  265. .LI
  266. allowing virtual functions in a derived class to use a more 
  267. specific return type than the base class' version of the 
  268. function;
  269. .LI
  270. allowing overloading of operator . (dot);
  271. .LI
  272. a name space control mechanism.
  273. .LE 1
  274. The largest issue currently lurking in the Extensions 
  275. category is the addition of support for run-time type 
  276. information.
  277. There will be much discussion on this topic over the next 
  278. months.
  279. .P
  280. .B "C Compatibility"
  281. .br
  282. Tom Plum, of Plum-Hall, presented the work of the C 
  283. Compatibility group.
  284. .P
  285. The group continued its investigation of the vocabulary 
  286. differences between C and C++.
  287. Only a few of the differences have been resolved, and Tom 
  288. plans to meet with Jon Shapiro to decide which terms can be 
  289. incorporated as C++ definitions.
  290. .P
  291. .HU "Next events"
  292. .P
  293. The next three X\s-1\&3J16\s0 1991 meetings (and their hosts) 
  294. will be:
  295. .BL
  296. .LI
  297. November 11-15,
  298. Austin \s-1TX\s0 (TI)
  299. .LI
  300. March 9-13 (or 16-20) 1992,
  301. London, UK (BSI and Zortech)
  302. .LI
  303. July 13-17
  304. Toronto Canada (IBM)
  305. .LE 1
  306. .P
  307. Membership on an \s-1X3\s0 committee is open to any 
  308. individual or organization with expertise and material 
  309. interest in the topic addressed by the committee.
  310. The cost for voting or observer membership is $250.
  311. Contact the chair or vice chair for details.
  312. .P
  313. .nf
  314. .P
  315. Chair: Dmitry Lenkov
  316. \s-1HP\s0 California Language Lab
  317. 19447 Pruneridge Avenue \s-1MS\s0 47 \s-1LE\s0
  318. Cupertino, \s-1CA\s0  95014
  319. (408)447-5279
  320. \s-1FAX\s0 (408)447-4924
  321. email dmitry\%hpda@hplabs.hp.com
  322. .P
  323. Vice Chair: William M. Miller
  324. Glockenspiel, Ltd
  325. P.O. Box 366
  326. Sudbury, \s-1MA\s0  01776-0003
  327. (508)443-5779
  328. email wmm@world.std.com
  329. .fi
  330.