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.2 required=5.0 tests=BAYES_00,FREEMAIL_FROM, FROM_STARTS_WITH_NUMS autolearn=no autolearn_force=no version=3.4.4 X-Received: by 2002:a24:d30f:: with SMTP id n15-v6mr8170476itg.0.1523059500665; Fri, 06 Apr 2018 17:05:00 -0700 (PDT) X-Received: by 2002:a9d:e5b:: with SMTP id n27-v6mr1567959otd.2.1523059500485; Fri, 06 Apr 2018 17:05:00 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!news.uzoreto.com!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!k65-v6no178713ita.0!news-out.google.com!u64-v6ni197itb.0!nntp.google.com!u184-v6no187404ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Fri, 6 Apr 2018 17:05:00 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=85.245.160.180; posting-account=rhqvKAoAAABpikMmPHJSZh4400BboHwT NNTP-Posting-Host: 85.245.160.180 References: <3c392f24-5b12-4290-9ec6-2dc986bb6530@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <508bf6b5-ecb8-4633-a418-2b11d59054b1@googlegroups.com> Subject: Re: Standard."-" provided to "with function "-" (VAL1 : in VALUE_TYPE) return VALUE_TYPE is <>;" refused: From: Mehdi Saada <00120260a@gmail.com> Injection-Date: Sat, 07 Apr 2018 00:05:00 +0000 Content-Type: text/plain; charset="UTF-8" Xref: reader02.eternal-september.org comp.lang.ada:51367 Date: 2018-04-06T17:05:00-07:00 List-Id: You may be right, in fact I think you are. When checking syntax/semantic, letting minus operators to <> works. But I uncovered a bigger problem with gps' "keep going" option: circular instantiations !! originally: neither expressions nor spreadsheets.formula_cells were generics. They both used INTEGER. And they could call each other: Formula_cells needs expression to calculate stuff, and expressions.formula_type (or whatever) needs spreadsheets to define a new syntax type which is aware of spreadsheets coordinates. I don't know how it was meant to be (I won't rewrite it to be non-generic), but it had to work, so I guess being generics made both two packages not only "with" each other, but INSTANCIATE each other, which is a fr*****g dead-end. I thought using a signature package common to both would be enough... it wasn't. And you can't "limited with-' generics. Not sure it would help, for the matter. Is there a way out ? I would never have imagined that making things generics would wreak havoc the original design... whereas THEY proposed to change "expressions" to be generic, in the first place ! I'll take some time to review if the circular instanciation really is mandatory or not, but it really seems so.