From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,b47b15fda2aeb0b2 X-Google-Attributes: gid103376,public From: eachus@spectre.mitre.org (Robert I. Eachus) Subject: Re: Two ideas for the next Ada Standard Date: 1996/09/05 Message-ID: #1/1 X-Deja-AN: 178755752 references: <50aao3$3r88@news-s01.ny.us.ibm.net> organization: The Mitre Corp., Bedford, MA. newsgroups: comp.lang.ada Date: 1996-09-05T00:00:00+00:00 List-Id: In article <322C40B1.534A@ehs.ericsson.se> Jonas Nygren writes: > And dispatching on return values from functions. But I still like > X.P better than P(X) because I immediately can see what object I > am operating on. With P(X,Y) one would have to go back to the > definition of P to know if it dispatches on X or Y. But this is > something one have to adopt to - Ada will never change to X.P > notation. People have been missing one very important point here. In Ada (83 and 95) the X.P notation exists and has a slightly different meaning from P(X). In particular, X can be a task or protected object, and P an entry or procedure of that object. The paradigm shift from C++ to Ada that many people miss is that Ada has a both active objects and objects with non-blocking behavior. (Operations on non-blocking objects can use hidden active objects to manage access, but that is a consequence of other rules.) So if you REALLY prefer that notation use it. You may be paying an implementation time price, but Ada had already defined the notational split this way, and overriding it when adding tagged types would have been confusing. Robert I. Eachus with Standard_Disclaimer; use Standard_Disclaimer; function Message (Text: in Clever_Ideas) return Better_Ideas is... -- Robert I. Eachus with Standard_Disclaimer; use Standard_Disclaimer; function Message (Text: in Clever_Ideas) return Better_Ideas is...