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!mx02.eternal-september.org!feeder.eternal-september.org!feeder.erje.net!eu.feeder.erje.net!bloom-beacon.mit.edu!bloom-beacon.mit.edu!newsswitch.lcs.mit.edu!nntp.TheWorld.com!.POSTED!not-for-mail From: Robert A Duff Newsgroups: comp.lang.ada Subject: Re: GNAT GPL is not shareware Date: Wed, 14 Jan 2015 11:22:41 -0500 Organization: The World Public Access UNIX, Brookline, MA Message-ID: References: <87bnmetex4.fsf@ludovic-brenta.org> <1otenmcbgnvlt$.dn9361nl2jm8$.dlg@40tude.net> <8ryfky4awox2$.q2gfw4pvsgau.dlg@40tude.net> NNTP-Posting-Host: shell01.theworld.com Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: pcls7.std.com 1421252569 20448 192.74.137.71 (14 Jan 2015 16:22:49 GMT) X-Complaints-To: abuse@TheWorld.com NNTP-Posting-Date: Wed, 14 Jan 2015 16:22:49 +0000 (UTC) User-Agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.3 (irix) Cancel-Lock: sha1:zI+LNcZ6FpHjYxTw6hQNhHF9g/o= Xref: news.eternal-september.org comp.lang.ada:24571 Date: 2015-01-14T11:22:41-05:00 List-Id: "J-P. Rosen" writes: > Le 13/01/2015 22:19, Randy Brukardt a écrit : >> ASIS >> doesn't have enough abstraction for my taste. > I wasn't part of the initial design of ASIS, but I think the initial > idea was just to provide basic building blocks, from which everybody > could build higher level queries. From that point of view, it succeeded, > I never met a case* where I wasn't able to build the queries I needed > (see the Thick_Queries package of AdaControl)... although some of them > were quite painful. The annoying thing to me is that the compiler has already done that "quite painful" work, so you're duplicating work. An example: ASIS has a query "Has_Limited", which tells you whether a given piece of syntax (e.g type declaration) has the keyword "limited". But it doesn't have an "Is_Limited" function that tells you whether a given subtype is limited. The ASIS client can implement that (and I'm guessing you have such a thing and many more in your Thick_Queries), but it probably takes at least 50 lines of code. Should an ASIS client really have to implement this (from 7.3.1(5)): For example, an array type whose component type is limited private becomes nonlimited if the full view of the component type is nonlimited and visible at some later place immediately within the declarative region in which the array type is declared. ... when the compiler already did so? And there are probably hundreds of similar missing "semantic" queries. > * TBH, I should mention a big hole: dispatching calls, where something > is clearly missing. I think I remember something about that, but I've forgotten the details. What is missing? > Of course, everybody has its own opinion about where to put the line > between basic building blocks and do-it-yourself. After all, even Lego > has quite sophisticated (and specialized) pieces nowadays. > > (When I was a kid, Lego blocks were just intended to build houses. You > only had rectangular blocks, plaques, and tiles... which didn't prevent > me from building airplanes with these). ;-) - Bob