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: 103376,21960280f1d61e84 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!t-online.de!tiscali!newsfeed1.ip.tiscali.net!news.tele.dk!news.tele.dk!small.news.tele.dk!lnewsinpeer00.lnd.ops.eu.uu.net!bnewsinpeer00.bru.ops.eu.uu.net!emea.uu.net!newsfeed.arcor.de!newsspool2.arcor-online.net!news.arcor.de.POSTED!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: How come Ada isn't more popular? 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: <1169636785.504223.139630@j27g2000cwj.googlegroups.com> <3pejpgfbki.fsf@hod.lan.m-e-leypold.de> <1ic9j6bmbl0ik.gvgqhl1ixvxk$.dlg@40tude.net> <1v9qweobb6xei.z5hdupxed63u.dlg@40tude.net> Date: Fri, 9 Feb 2007 19:43:35 +0100 Message-ID: <788f7mqo6z5y.vpcslak65koq.dlg@40tude.net> NNTP-Posting-Date: 09 Feb 2007 19:43:19 CET NNTP-Posting-Host: b68fad67.newsspool2.arcor-online.net X-Trace: DXC=7]U6fO=bVJc:i=48;n?Z:`A9EHlD;3Ycb4Fo<]lROoRaFl8W>\BH3Yb[7HBhA@7V5aDNcfSJ;bb[eIRnRBaCdg X-Complaints-To: usenet-abuse@arcor.de Xref: g2news2.google.com comp.lang.ada:9205 Date: 2007-02-09T19:43:19+01:00 List-Id: On Fri, 09 Feb 2007 18:08:06 GMT, Ray Blaak wrote: > "Dmitry A. Kazakov" writes: >> It is still broken, because when you remove a connection (non-directed) >> between two nodes you don't know which of them should/may/can fall on the >> floor. This information is locally missing. It could be deduced from some >> transitive client-master/reference-target relation, but we have demolished >> that relation just before by introducing cycles. > > Not really. You program according to a principle of locality of use. Some code > says "I no longer need this data", and lets go of it, without regard to > whether or not it is still in use somewhere else. The point is that "I don't need the node A here" /= "There is no link between A and B." > If every bit of code relinquishes its resources according to its local needs, > then the global effect via GC is that the resource is in fact properly > managed. The local effect is easier to prove and code to since at every local > step the "cleanup" work is much simpler in the presence of GC. No, it just does not follow. In question is very model of graph nodes as "resources," because of the inequality above. You are making a jump from resource management to program correctness. An analogous statement would be: "every computation is correct because the CPU does not make errors while summing numbers." -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de