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!.POSTED!not-for-mail From: Simon Clubley Newsgroups: comp.lang.ada Subject: Re: Why are Ada compilers difficult to write ? Date: Mon, 25 Jun 2018 06:04:42 -0000 (UTC) Organization: A noiseless patient Spider Message-ID: References: <584564c2-9f64-4965-b045-535cdaf899c0@googlegroups.com> <7cb22c58-3009-47f0-8fe7-62f3cd61785d@googlegroups.com> <2d617160-ac33-40e6-a06a-97cc0b53062d@googlegroups.com> <874lhsnvye.fsf@adaheads.home> Injection-Date: Mon, 25 Jun 2018 06:04:42 -0000 (UTC) Injection-Info: reader02.eternal-september.org; posting-host="4d1086449d7be45801aa9e885b35254f"; logging-data="24284"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19KYcnaSAwXXFxVixyJUukEZ8EhrCNdeP0=" User-Agent: slrn/0.9.8.1 (VMS/Multinet) Cancel-Lock: sha1:nH4qU9fueHLAzaVMaSg1jU48ibM= Xref: reader02.eternal-september.org comp.lang.ada:53284 Date: 2018-06-25T06:04:42+00:00 List-Id: On 2018-06-24, Jacob Sparre Andersen wrote: > "Dan'l Miller" writes: >> On Saturday, June 23, 2018 at 12:56:43 AM UTC-5, J-P. Rosen wrote: > >>> Well, it is an attempt at making pointers safer, and this is >>> inherently difficult. Other languages didn't even try... >> >> Except Rust nowadays, and hopefully Ada2020 will catch up > > The problem with Rust is that the language isn't well specified (a > "reference implementation" doesn't count as a specification). > Especially when that reference implementation keeps changing... > At Ada-Europe 2018, Maroua Maalej presented a paper with the title "Safe > Dynamic Memory Management in Ada and SPARK". It explains how you can > implement borrowing access types in Ada quite trivially (I had figured > out the basics myself beforehand). The challenge is that borrowing > access types are behaviorally incompatible with existing Ada access > types, so you have to select the behaviour per access type. - And this > still doesn't solve all the problems related to anonymous access types > (i.e. "the heart of darkness"). > Are anonymous access types a mistake ? Removing them increases the level of required formality in code but you can argue either way whether this is a bad thing or not. Simon. -- Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP Microsoft: Bringing you 1980s technology to a 21st century world