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,b6e97963d32ee242 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-05-30 03:41:36 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!skynet.be!skynet.be!news-FFM2.ecrc.net!news.iks-jena.de!not-for-mail From: Lutz Donnerhacke Newsgroups: comp.lang.ada Subject: Re: The old "Object.Method" syntax debate Date: Fri, 30 May 2003 10:41:35 +0000 (UTC) Organization: IKS GmbH Jena Message-ID: References: <254c16a.0305210726.485125de@posting.google.com> <3eccdf77$1@epflnews.epfl.ch> <3ecdd296$1@epflnews.epfl.ch> <3ED056CB.8000200@attbi.com> <3ed33506.7272397@news.btclick.com> NNTP-Posting-Host: taranis.iks-jena.de X-Trace: branwen.iks-jena.de 1054291295 18722 217.17.192.37 (30 May 2003 10:41:35 GMT) X-Complaints-To: usenet@iks-jena.de NNTP-Posting-Date: Fri, 30 May 2003 10:41:35 +0000 (UTC) User-Agent: slrn/0.9.7.4 (Linux) Xref: archiver1.google.com comp.lang.ada:38071 Date: 2003-05-30T10:41:35+00:00 List-Id: * Dmitry A. Kazakov wrote: > Lutz Donnerhacke wrote: >> procedure method(a : in out object; ...); >> for object'method use method; > > Or better > > object'method renames method; I do not like to introduce just another syntax for attribute definitions. >> Problem 1: Pointer of component => Pointer to aggregate > > Solved with MI = Class-wide pointer -> Dispatch I do not have tagged data types. Due to hardware design requirements I can not have tagged data types. >> Problem 2: Defining Byte_Order of record representations > > I didn'tunderstand this. Why Value := Low + High * 256 is unsufficient. I > never had problems in passing integers over sockets. But I admit, I know no > solution for an efficient dealing with floats (in binary format). A portable program using record representation clauses is not possible to write in Ada95 (besides you restrict yourself to boolean components only). If you like to show me something other, please consider a 6bit bytesize and 36bit wordsize processor ... The portable solution for complex data types is writing distinct parsing and constructing routines. This is inefficient and can not applied to memory mapped data. I do not accept this limitation of Ada95. >> Problem 3: Static expressions of discriminants in record representations > > Yes it is a pain. But the major problem as I see it is breaking separation > of implementation and interface by discriminants. I do not see any seperation by declarative programming. > Clearly there has to be public and private (implementational) > discriminants. No. An external (memory mapped) data structure has only public components. Representation issues does no deal with private and public differences either. > With true constructors this could be solved. Initialisation routines exists and do not solve the problem. Constructor routines do not solve the memory mapping either. So what?