Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

The unfacts, did we have them, are too imprecisely few to warrant our certitude.


devel / comp.lang.ada / Re: calling function but ignoring results

SubjectAuthor
* calling function but ignoring resultsMatt Borchers
+* Re: calling function but ignoring resultsJeffrey R. Carter
|+* Re: calling function but ignoring resultsDmitry A. Kazakov
||`* Re: calling function but ignoring resultsRandy Brukardt
|| `* Re: calling function but ignoring resultsG.B.
||  +* Re: calling function but ignoring resultsNiklas Holsti
||  |`- Re: calling function but ignoring resultsRandy Brukardt
||  `- Re: calling function but ignoring resultsShark8
|+- Re: calling function but ignoring resultsLuke A. Guest
|`* Re: calling function but ignoring resultsGabriele Galeotti
| `* Re: calling function but ignoring resultsMarius Amado-Alves
|  +- Re: calling function but ignoring resultsGabriele Galeotti
|  `* Re: calling function but ignoring resultsGabriele Galeotti
|   `* Re: calling function but ignoring resultsSimon Wright
|    +- Re: calling function but ignoring resultsSimon Wright
|    `- Re: calling function but ignoring resultsRandy Brukardt
+* Re: calling function but ignoring resultsLuke A. Guest
|+- Re: calling function but ignoring resultsSimon Wright
|`- Re: calling function but ignoring resultsRod Kay
+* Re: calling function but ignoring resultsStephen Leake
|`* Re: calling function but ignoring resultsRandy Brukardt
| `- Re: calling function but ignoring resultsStephen Leake
`* Re: calling function but ignoring resultsNasser M. Abbasi
 +* Re: calling function but ignoring resultsMatt Borchers
 |`* Re: calling function but ignoring resultsGautier write-only address
 | +- Re: calling function but ignoring resultsGautier write-only address
 | `- Re: calling function but ignoring resultsNiklas Holsti
 `- Re: calling function but ignoring resultsGautier write-only address

Pages:12
Re: calling function but ignoring results

<ikrlspFjskkU1@mid.individual.net>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=5549&group=comp.lang.ada#5549

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: niklas.h...@tidorum.invalid (Niklas Holsti)
Newsgroups: comp.lang.ada
Subject: Re: calling function but ignoring results
Date: Fri, 9 Jul 2021 22:20:56 +0300
Organization: Tidorum Ltd
Lines: 26
Message-ID: <ikrlspFjskkU1@mid.individual.net>
References: <69a59fdc-72bb-4202-99fc-d776530de653n@googlegroups.com>
<sbftm5$1gn$1@dont-email.me> <sbg04v$i7i$1@gioia.aioe.org>
<sbh1lf$i1c$1@franka.jacob-sparre.dk> <sca3lg$de5$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: individual.net vtsh1hkL7+lwHqmy/Ti6LwsgUJjxZqLdaebF+2FU2Sp78hf+w6
Cancel-Lock: sha1:Euzx+C/nomFXPKH/r4xGCN2JUyw=
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:78.0)
Gecko/20100101 Thunderbird/78.11.0
In-Reply-To: <sca3lg$de5$1@dont-email.me>
Content-Language: en-US
 by: Niklas Holsti - Fri, 9 Jul 2021 19:20 UTC

On 2021-07-09 21:14, G.B. wrote:
> On 30.06.21 08:06, Randy Brukardt wrote:
>
>> In Ada 202x, renaming is easier (assuming the usual case where
>> overloading
>> isn't involved):
>>
>>     declare
>>        Ignore renames Foo (Baz);
>>     begin
>>        null;
>>     end;
>
> Is this "type-less" naming a copy of the popular omission schemes
> like auto in C++? Optional type annotations in Swift, or Scala?

I don't know all the origins of this language change, but it can be seen
as a correction because it avoids the wart in the earlier Ada form of
renaming, where a (sub)type name is included. The wart is that the
constraints of that (sub)type are essentially ignored, and so can be
misleading.

AI12-0275 seems to be the main origin of this change:

http://www.ada-auth.org/cgi-bin/cvsweb.cgi/ai12s/ai12-0275-1.txt?rev=1.9&raw=N

Re: calling function but ignoring results

<scb2ao$ckl$1@franka.jacob-sparre.dk>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=5550&group=comp.lang.ada#5550

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!paganini.bofh.team!newsfeed.xs3.de!news.jacob-sparre.dk!franka.jacob-sparre.dk!pnx.dk!.POSTED.rrsoftware.com!not-for-mail
From: ran...@rrsoftware.com (Randy Brukardt)
Newsgroups: comp.lang.ada
Subject: Re: calling function but ignoring results
Date: Fri, 9 Jul 2021 21:57:27 -0500
Organization: JSA Research & Innovation
Lines: 51
Message-ID: <scb2ao$ckl$1@franka.jacob-sparre.dk>
References: <69a59fdc-72bb-4202-99fc-d776530de653n@googlegroups.com> <sbftm5$1gn$1@dont-email.me> <sbg04v$i7i$1@gioia.aioe.org> <sbh1lf$i1c$1@franka.jacob-sparre.dk> <sca3lg$de5$1@dont-email.me> <ikrlspFjskkU1@mid.individual.net>
Injection-Date: Sat, 10 Jul 2021 02:57:28 -0000 (UTC)
Injection-Info: franka.jacob-sparre.dk; posting-host="rrsoftware.com:24.196.82.226";
logging-data="12949"; mail-complaints-to="news@jacob-sparre.dk"
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5931
X-RFC2646: Format=Flowed; Response
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.7246
 by: Randy Brukardt - Sat, 10 Jul 2021 02:57 UTC

"Niklas Holsti" <niklas.holsti@tidorum.invalid> wrote in message
news:ikrlspFjskkU1@mid.individual.net...
....
>> Is this "type-less" naming a copy of the popular omission schemes
>> like auto in C++? Optional type annotations in Swift, or Scala?
>
>
> I don't know all the origins of this language change, but it can be seen
> as a correction because it avoids the wart in the earlier Ada form of
> renaming, where a (sub)type name is included. The wart is that the
> constraints of that (sub)type are essentially ignored, and so can be
> misleading.

Right; the name of the type is often a lie vis-a-vis the subtype properties;
moreover, it is often the case that the type is included in the renamed
item:

Foo : renames Some_Type'(Bar(Obj));

Repeating the type in such cases is not useful and violates DRY ("Do Not
Repeat Yourself"):

Foo : Some_Type renames Some_Type'(Bar(Obj));

We felt this was something that was better handled by style guides rather
than imposing unnecessarily wordy syntax.

> AI12-0275 seems to be the main origin of this change:
>
> http://www.ada-auth.org/cgi-bin/cvsweb.cgi/ai12s/ai12-0275-1.txt?rev=1.9&raw=N

The actual motivation behind this change was a strong desire for a shorter
way to write bindings in declare expressions. We tried a number of things,
but they all seemed oddly special case. Eventually, we settled on using
normal syntax throughout declare expressions, but simplified the syntax for
renaming in all cases. The tipping point was noticing the duplication in
examples like the above, along with the fact that the subtype given is
ignored anyway.

If we were designing Ada from scratch, the subtype in a renames would have
to statically match the nominal subtype of the name being renamed. But that
wasn't required in Ada 83 and it would be way too incompatible to require
now. (The reason that Ada 83 didn't require it? Jean Ichbiah didn't want to
have to define "static matching" -- according to an old thread that John
Goodenough dug up. Of course the Ada 9x team decided such a concept was
necessary and added it to the language, so we ended up with most constructs
using static matching, but renames being different.)

Randy.

Re: calling function but ignoring results

<632d76a4-bac0-4052-8f99-76eb3e5e0072n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=5555&group=comp.lang.ada#5555

  copy link   Newsgroups: comp.lang.ada
X-Received: by 2002:a37:6044:: with SMTP id u65mr22882901qkb.330.1626105415515;
Mon, 12 Jul 2021 08:56:55 -0700 (PDT)
X-Received: by 2002:a25:690e:: with SMTP id e14mr65749146ybc.277.1626105415362;
Mon, 12 Jul 2021 08:56:55 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.ada
Date: Mon, 12 Jul 2021 08:56:55 -0700 (PDT)
In-Reply-To: <sca3lg$de5$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=146.5.2.231; posting-account=lJ3JNwoAAAAQfH3VV9vttJLkThaxtTfC
NNTP-Posting-Host: 146.5.2.231
References: <69a59fdc-72bb-4202-99fc-d776530de653n@googlegroups.com>
<sbftm5$1gn$1@dont-email.me> <sbg04v$i7i$1@gioia.aioe.org>
<sbh1lf$i1c$1@franka.jacob-sparre.dk> <sca3lg$de5$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <632d76a4-bac0-4052-8f99-76eb3e5e0072n@googlegroups.com>
Subject: Re: calling function but ignoring results
From: onewinge...@gmail.com (Shark8)
Injection-Date: Mon, 12 Jul 2021 15:56:55 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Shark8 - Mon, 12 Jul 2021 15:56 UTC

On Friday, July 9, 2021 at 12:14:10 PM UTC-6, G.B. wrote:
> They'll be good, for sure, when securing the workplace semantically;
> also good for implementors of more complex type inference algorithms
> and, consequently, for makers of the CPUs that are needed to properly
> handle the omissions. I think the proper number of omissions is
> a subject of research at ETH Zürich. They are trying to find
> a sweet spot that makes inference finish in reasonable time.
I tend to dislike type-inference* almost altogether; I think Ada 2012 and before got it right: very constrained and deterministic contexts (eg the for loop's index).
Yes, I realize there's systems like Haskell that are good about types, but as you say these have inferences that take a while. While I'm all in favor of making the compiler do the tedious work, given that types are [in general] a static portion of the program as a whole it should be possible (to borrow from the GPS UI) to throw up the little wrench/auto-fix option and "fill in" the types found so that the next compile doesn't have to infer types.... but I suspect that most implementations will instead simply do the inference again and again and again on each compile and waste your time.

* It invites the "could possibly work" C-ish mentality, rather than the "cannot possibly not-work" Ada-mentality, IMO.

Pages:12
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor