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,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.36.93.70 with SMTP id w67mr4791754ita.37.1494953112480; Tue, 16 May 2017 09:45:12 -0700 (PDT) X-Received: by 10.157.14.91 with SMTP id n27mr275258otd.8.1494953112457; Tue, 16 May 2017 09:45:12 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!news.glorb.com!67no442421itx.0!news-out.google.com!v18ni421ita.0!nntp.google.com!67no442416itx.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Tue, 16 May 2017 09:45:12 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=76.113.92.25; posting-account=lJ3JNwoAAAAQfH3VV9vttJLkThaxtTfC NNTP-Posting-Host: 76.113.92.25 References: <1c0e2c7c-4fd6-43d1-9848-f03e1a72bcb3@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <40fc8c30-08d6-4456-a488-a1b28615953b@googlegroups.com> Subject: Re: Rust's temporal safety for Ada/SPARK From: Shark8 Injection-Date: Tue, 16 May 2017 16:45:12 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: news.eternal-september.org comp.lang.ada:46799 Date: 2017-05-16T09:45:12-07:00 List-Id: On Monday, May 15, 2017 at 5:19:45 PM UTC-6, Randy Brukardt wrote: >=20 > I'm also very suspicious of any claims of new static rules simply because= =20 > OOP pretty much forces dynamic checks if one uses references; strong typi= ng=20 > breaks down for that and everything essentially becomes dynamic. There=20 > probably aren't any dereference checks, but you end up with dynamic type= =20 > checks instead (substantially worse). Best thing is to avoid references= =20 > altogether (but of course that too reduces capability). >=20 > Randy. But a lot of those dynamic checks can be eliminated altogether; this paper'= s 20 years old and shows that up to 87% of indirect [dynamic] calls could b= e converted to direct [static] calls: http://dabamirror.sci-hub.io/0907a19f84f6a6fc61cc0416a09a9958/fernndez1995.= pdf Granted, this *IS* at link-time; but a brief look at some of the similar an= d/or referencing articles gives me the slight [counterintuitive] impression= that not everything about OOP need be dynamic. -- It'll take more time and= energy to properly delve into the subject than I have at the moment, but s= ome of the results have quite fascinating titles.