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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,8c424d8135e68278 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-12-13 01:11:51 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.tele.dk!small.news.tele.dk!130.133.1.3!fu-berlin.de!uni-berlin.de!tar-alcarin.cbb-automation.DE!not-for-mail From: dmitry@elros.cbb-automation.de (Dmitry A. Kazakov) Newsgroups: comp.lang.ada Subject: Re: Ada2005 Date: Thu, 13 Dec 2001 09:11:49 GMT Message-ID: <3c1868b2.1587625@News.CIS.DFN.DE> References: <9v4jsj$bd1$1@infosun2.rus.uni-stuttgart.de> <9v7f26$qn2$1@infosun2.rus.uni-stuttgart.de> <3C1754BA.C4560423@informatik.uni-jena.de> NNTP-Posting-Host: tar-alcarin.cbb-automation.de (212.79.194.111) X-Trace: fu-berlin.de 1008234709 14538404 212.79.194.111 (16 [77047]) X-Newsreader: Forte Free Agent 1.21/32.243 Xref: archiver1.google.com comp.lang.ada:17875 Date: 2001-12-13T09:11:49+00:00 List-Id: On Wed, 12 Dec 2001 18:04:32 GMT, "Mark Lundquist" wrote: >What's "just" about a package :-), and how is that not a "real" binding? >Generally, subprograms operating on a type and declared in the immediate >scope of the type are the primitive (heritable) operations, i.e. methods. >The method declarations are not textually included in the type definition >syntax, but how is that a problem? Of course it is not. In contrary, the opposite is a problem. If methods *belong* to a type then there is no place for multiple dispatch [which is partially supported by Ada]. "Methods *of* object" are inherently inconsistent from this point view. However, what people criticizing Ada usualy want, is just a syntax sugar, which would allow to refer methods using postfix form if there is only one dispatching [or class-wide] argument and it is the first one. I think in a future revision there could be some variant of rename statement which would allow to do this and also the opposite thing [for "methods" of protected objects and tasks which are always called using the postfix form]. For instance: type Ellipse is tagged ... procedure Draw (Figure : Ellipse, Where : Point); entry Ellipse.Draw (Where : Point) renames Draw; ............... task type Server is entry Shut_Down; end Server: procedure Shut_Down (Arg : in out Server) renames Server.Shut_Down; Regards, Dmitry Kazakov