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.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Received: by 2002:a6b:ce9:: with SMTP id 102-v6mr20795884iom.134.1525676410977; Mon, 07 May 2018 00:00:10 -0700 (PDT) X-Received: by 2002:a9d:4509:: with SMTP id w9-v6mr2539457ote.10.1525676410646; Mon, 07 May 2018 00:00:10 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!goblin3!goblin.stu.neva.ru!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!u74-v6no2866608itb.0!news-out.google.com!f20-v6ni1246itd.0!nntp.google.com!u74-v6no2866603itb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Mon, 7 May 2018 00:00:10 -0700 (PDT) In-Reply-To: <619088663.547202536.622332.laguest-archeia.com@nntp.aioe.org> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=176.130.29.212; posting-account=6yLzewoAAABoisbSsCJH1SPMc9UrfXBH NNTP-Posting-Host: 176.130.29.212 References: <619088663.547202536.622332.laguest-archeia.com@nntp.aioe.org> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: Trait based containers From: briot.emmanuel@gmail.com Injection-Date: Mon, 07 May 2018 07:00:10 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader02.eternal-september.org comp.lang.ada:52061 Date: 2018-05-07T00:00:10-07:00 List-Id: On Saturday, May 5, 2018 at 10:43:41 AM UTC+2, Luke A. Guest wrote: > I thought this was being submitted for inclusion into Ada 202X? > What=E2=80=99s happening with this? I am the original developer for those experimental containers. This was mos= tly a way to explore the use of generics in various contexts, and they resulted in a = few (I believe 3, though I forgot exactly) new AI submitted to the ARG. Those AI are not a= bout that library itself, but about various improvements to the language to better su= pport this kind of generic packages. I don't think we ever wanted to integrate them into the language. Indeed, A= da already has its own set of containers, so it would be a hard sell to pro= vide a second set of containers. Instead, the intent was for AdaCore to base its implementation of the stand= ard Ada containers on something like the traits containers, for better code= sharing among other things, and maybe also to provide the traits container= s as an independent library (I think this is better, as someone else will c= ome with a better implementation/design at some point, so better if it isn'= t hard-coded in the RM). Then the SPARK people took interest in those as well, since, as opposed to = the Ada containers, they provide a good basis for SPARK-compatible containe= rs. Claire Dross did a huge amount of work to make the containers provable = (not proven, this isn't the same thing). There were quite a few limitations in Ada that made those containers somewh= at hard to use for final users. In particular, instantiating the containers= is somewhat tricky, especially if you want to control all the details (if = you use one of the high-level packages, this is very similar to instantiati= ng Ada's own containers). Then I left AdaCore... At this point, I don't think there's anyone working on those containers fro= m the pure Ada library standpoint. I hope that the SPARK people still have = an interest in a subset of them, but I must admit I have no internal knowle= dge of this. In my new company, we use a lot of similar constructs, and in the process d= iscovered a lot of compiler bugs, mostly related to the use of constructs l= ike expression functions, for..of loops, and others. It would be nice if there was still interest in that library. The code is a= ll accessible in github, and I believe the license is GPL