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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,131f06967722ab4b X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!news2.google.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Ada 2005? Date: Tue, 21 Dec 2004 09:31:18 +0100 Organization: cbb software GmbH Message-ID: <173jve3ie4gsq$.t8vz28m6ggwv$.dlg@40tude.net> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: individual.net dAX0SAy8rHEbIAf6RBSULQg9/cR8Mb1dYfqKAdwOHpU3CL+Qc= User-Agent: 40tude_Dialog/2.0.12.1 Xref: g2news1.google.com comp.lang.ada:7120 Date: 2004-12-21T09:31:18+01:00 List-Id: On Tue, 21 Dec 2004 04:26:34 +0300 (MSK), Alexander E. Kopilovich wrote: > jayessay wrote: > >> "Dmitry A. Kazakov" writes: > [...] >>> The point is that: >>> >>> 1. Prefix notation is misleading >> >> Not to mention inflexible and limiting. > > And how about the following alternative (which was posted to Ada-Comment in > June 2003) ? [...] > --------------------------------------------------------------------------- I would say both. Clearly attributes should be primitive operations to define and override. Same for the prefix notation which existed already in Ada 83 in the form of task entry calls. That all is just syntactic sugar. The programmer should be free in choosing either way of "formatting" calls to primitive operations. 1. Functional: f(a,b,c,d) 2. Attribute: a'f(b,c,d) 3. Prefix (member) a.f(b,c,d) 4. Infix: a + b, "+" is the operation 5. Index: a(b,c,d), "(" is the operation 6. Aggregate: (a,b,c,d), "(" is the operation Presently Ada can only 1 and 4 is available. Ada 2005 will provide 3. 4 is limited because it is not fully multiple dispatch. [ C++ can 3. Also 4, but broken in the second parameter. Then 5, though limited. It cannot 1, that won't dispatch. ] A lot of work to do! -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de