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=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,dea2d62ab1462538 X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!feeder2.cambriumusenet.nl!feed.tweaknews.nl!138.195.8.3.MISMATCH!news.ecp.fr!nuzba.szn.dk!pnx.dk!newsfeed.straub-nv.de!newsfeed01.sul.t-online.de!t-online.de!newsfeed.arcor.de!newsspool4.arcor-online.net!news.arcor.de.POSTED!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: Writing an Operating System in Ada Newsgroups: comp.lang.ada User-Agent: 40tude_Dialog/2.0.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Reply-To: mailbox@dmitry-kazakov.de Organization: cbb software GmbH References: <8e9bc311-7540-40a1-b19e-49e93648c25c@s31g2000yqs.googlegroups.com> <9oyblld05omh$.1dzhmyoseeb7x$.dlg@40tude.net> <414945fd-8ed5-4f42-a237-0685602332b3@f5g2000yqh.googlegroups.com> <4176d6eb-fefe-4bd7-9378-55a33a12d458@e37g2000yqn.googlegroups.com> <5908c8c1-9a81-4877-a4da-827521b01263@p24g2000yqm.googlegroups.com> <1p8z3tc1d5rw6.jryi563tb4j5.dlg@40tude.net> <75592fbb-f9e8-4e4e-ae23-e63979f8925a@q4g2000yqm.googlegroups.com> <14ipqwq487sr.1gczeyh5apq5a$.dlg@40tude.net> <4b5444ab$0$7615$9b4e6d93@newsspool1.arcor-online.net> Date: Mon, 18 Jan 2010 14:50:51 +0100 Message-ID: <1l74z2ijrog3d$.1af6vpgc2qq8c$.dlg@40tude.net> NNTP-Posting-Date: 18 Jan 2010 14:50:51 CET NNTP-Posting-Host: 50768974.newsspool3.arcor-online.net X-Trace: DXC=YkCjIF`]\Wc^Y=RbYBPl4`McF=Q^Z^V3h4Fo<]lROoRa8kFoQ=m8fNbUP4h X-Complaints-To: usenet-abuse@arcor.de Xref: g2news1.google.com comp.lang.ada:8785 Date: 2010-01-18T14:50:51+01:00 List-Id: On Mon, 18 Jan 2010 12:23:23 +0100, Georg Bauhaus wrote: > If there is a misunderstanding, please help: > in a world of existing separate OSs, or of to be > designed OSs, would their respective persistence layers allow, > given the identifier of some object, Identifier of some object = the object itself, like when you write in Ada: X : Integer; X is the object and an identifier of. > (1) calling primitive subs defined with the object's type T Certainly. > (2) learning about T's subs in case the object was stored > by some program (defining T) not known to the caller, No, you don't have the object then (object = identity + type + value). First you have to convert the type of the object and get a view or else another transient object of the desired type. Ada's equivalent: X : T'Class; begin ... S (X) ... -- S is a member of T'Class You might also be able to check if X in S'Class etc. > (3) adding subs to T to accomodate specified processing needs > of another, later program? How? By conversion of the object to another type: X : Integer; Y : Float := Float (X); -- Now we have sin, cos etc This conversion might happen to be a view conversion or not. 1,2,3 represent no problem. IMO the real challenge (apart from consistent implementations of MI and MD) are dynamic types marshaled between the parts of a distributed system. I didn't think much about that, so don't expect me to answer how that should be solved. Probably others might have some insights... -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de