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=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: "Jeffrey R. Carter" Newsgroups: comp.lang.ada Subject: Re: Rust's temporal safety for Ada/SPARK Date: Sat, 13 May 2017 23:19:26 +0200 Organization: Also freenews.netfront.net; news.tornevall.net; news.eternal-september.org Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Sat, 13 May 2017 21:16:07 -0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="65999a06bd1518e5871815c819e2b9d2"; logging-data="26027"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+4f/y3pc+5mPvK/UzfT8nSaC//Md+uOrc=" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 In-Reply-To: Cancel-Lock: sha1:8SuhjjbGFSqn+Wjbze8YKL12mA4= Xref: news.eternal-september.org comp.lang.ada:46774 Date: 2017-05-13T23:19:26+02:00 List-Id: On 05/13/2017 10:33 PM, digitalkevlar@gmail.com wrote: > > So, with Rust's approach, they get memory safety even for *dynamic or > concurrent use* of memory at compile time with no overhead, runtime checks, > GC, etc. Whereas, the last thing I read on Ada showed it has a few tricks but > many dynamic uses resort to unsafe deallocations at some point. Other people > were suggesting reference counting or a GC leading me to further think it > lacks this ability of Rust. So, my question is, does Ada 2012 currently have > Rust's capability to enforce both temporal, memory safety and immunity to > race conditions? I'm really focusing on an equivalent to the borrow-checker > in Rust, though. If it doesn't have an equivalent, is there anyone working on > adding it to Ada esp at AdaCore? What Ada/SPARK have already + memory safety > for dynamic code would be an awesome combination that would put Rust in > distant second. I may be misunderstanding Ada's capabilities, though, so I > figure I ask the experts first. Thanks ahead of time. This looks sort of like Ada's accessibility levels and accessibility rules, from ARM 3.10.2, though as it says there, "In most cases, accessibility is enforced at compile time by Legality Rules. Run-time accessibility checks are also used, since the Legality Rules do not cover certain cases involving access parameters and generic packages." -- Jeff Carter "Well, a gala day is enough for me. I don't think I can handle any more." Duck Soup 93