From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-0.9 required=3.0 tests=BAYES_00,FROM_ADDR_WS autolearn=no autolearn_force=no version=3.4.5-pre1 Date: 16 Oct 92 11:58:05 GMT From: eru.mt.luth.se!lunic!sunic!mcsun!ub4b!cfmu!news@bloom-beacon.mit.edu (St ef Van Vlierberghe) Subject: User-defined assignment Message-ID: <1992Oct16.115805.15575@cfmu.eurocontrol.be> List-Id: A personal opinion on the status of user-defined assignment and Ada9X. In April ISO-WG9 decided that user-defined assignment is too costly, without having a "reasonable" technical proposal. To my knowledge, the most important technical proposal previously made was the one by B. Brosgol and J-L Gailly, 20 December 1989. This went as far as supporting user-defined assignment on scalar types and the use of this feature to get "automatic" type conversion whenever an assignment exists that can copy one type to another (as requested by the recent post 'can I overload ":="'). Needless to point out that this is not technically "reasonable". In June I submitted a proposal for user-defined equality, finalize, assignment to the Mapping Revision Team (comment 92-1165.a). Since then I have been adapting this proposal to the various comments I got, and most of the technical reactions can be summarized to a recent comment I got from the Mapping Revision Team (Bob Duff) : : No, I didn't find any "serious" problems with your proposal. Maybe : some minor ones, but that's not important. What IS important is : whether we spend time defining a user-defined assignment and : finalization. You think it's very important that we do. I think I : agree. But most others, including the majority of WG9 and the : majority of the DRs, think it's a waste of time. In my humble opinion, WG9 is (too?) biased towards the hard real time market needs. The majority doesn't care about how happy the C++ community is with their user-defined assignment, just as they didn't care about OO programming some years ago. A quote from a C++ user (Bob Martin) : : If you ask my opinion, the ability to redefine assignment for an : abstract data type is critical to defining a usable interface. Copy : semantics are almost never trivial for complex classes. Some method : needs to be specified for allowing users to make copies of objects, : and to assign objects. With the variable sized data in mind, I find it hard to disagree. Now the matter was recently re-raised by LSN-1046 (on Finalization) : : All of this means that any finalization proposal must either prevent : copies (i.e. limited type), or must allow the user to define the : semantics of the copy (i.e. user-defined assignment). I am seriously concerned about Ada's future if it fails to appeal to the scientific information systems and soft real time market. Some people may believe this is a lost cause, but I am convinced that Ada's security would become *very* attractive if it could compete with C++'s programmer support. Perhaps things might improve if those of you that really care about this issue would voice explicit support for user-defined assignment. Ideally you would submit a comment to ada9x-mrt@inmet.com, then it will get filed in their database, and forwarded to DRs and ISO delegates. As these comments are processed automatically, they have to start with the following header : !topic User defined assignment !reference MS-5.2,7.4.1,7.4.5;4.0 !discussion -- Stef VAN VLIERBERGHE Eurocontrol - Central Flow Management Unit stef@cfmu.eurocontrol.be Avenue des Arts 19H Tel: +32 2 729 33 42 B-1040 BRUSSELS Fax: +32 2 729 32 16 Belgium