Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

They are relatively good but absolutely terrible. -- Alan Kay, commenting on Apollos


devel / comp.lang.ada / Proliferation of Reserved Words

SubjectAuthor
* Proliferation of Reserved WordsJeffrey R. Carter
+* Re: Proliferation of Reserved WordsDmitry A. Kazakov
|`* Re: Proliferation of Reserved WordsRandy Brukardt
| +* Re: Proliferation of Reserved WordsPaul Rubin
| |`- Re: Proliferation of Reserved WordsRobin Vowels
| +- Re: Proliferation of Reserved WordsJeffrey R. Carter
| `- Re: Proliferation of Reserved WordsSimon Wright
`* Re: Proliferation of Reserved WordsLuke A. Guest
 `* Re: Proliferation of Reserved WordsAdaMagica
  +* Re: Proliferation of Reserved WordsDmitry A. Kazakov
  |`- Re: Proliferation of Reserved WordsChris Townley
  +- Re: Proliferation of Reserved WordsJeffrey R. Carter
  +- Re: Proliferation of Reserved WordsBill Findlay
  `* Re: Proliferation of Reserved WordsKeith Thompson
   `- Re: Proliferation of Reserved WordsDmitry A. Kazakov

1
Proliferation of Reserved Words

<s93i9e$dj9$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: spam.jrc...@spam.not.acm.org (Jeffrey R. Carter)
Newsgroups: comp.lang.ada
Subject: Proliferation of Reserved Words
Date: Mon, 31 May 2021 22:51:56 +0200
Organization: Also freenews.netfront.net; news.tornevall.net;
news.eternal-september.org
Lines: 55
Message-ID: <s93i9e$dj9$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 31 May 2021 20:51:58 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="74f2840ef2cb8697801c361035142834";
logging-data="13929"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19pgFARvJJhUngJWJYyli7lbl13DGbfqoI="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.8.1
Cancel-Lock: sha1:sHsHDPozHwKS2ZRf+1vKqVLVcSA=
Content-Language: en-US
X-Mozilla-News-Host: snews://news.eternal-september.org:563
 by: Jeffrey R. Carter - Mon, 31 May 2021 20:51 UTC

Ada 83 (in)famously had 63 reserved words, which was considered a lot at the
time (languages like C and Pascal had about half that). Considering only those
related to tasking, there were 7:

abort accept do entry select task terminate

Yet many of these have similar/related meanings, and perhaps some overloading
would have been a good idea.

entry and accept ... do go hand in hand. One could replace accept with something
like an entry body, eliminating 2 reserved words.

An entry is very like a procedure, so one could use procedure instead. It might
be necessary to distinguish between a "task procedure" (declared in a task spec)
and a "normal procedure" (declared anywhere else). Another reserved word eliminated.

abort/terminate are pretty much the same thing. We could eliminate abort and
just use terminate. (One could argue for using end, but given how often "end
Name;" appears when not terminating a task, that would be confusing.)

So we're left with select, task, and terminate, less than half as many. I
haven't looked in detail at the others, but presumably some reduction is
possible there.

Ada 95 added protected and requeue. Some Ada-83 compilers implemented "passive
tasks" that were similar to protected objects; formalizing that would have
required defining pragma Passive, leaving no need for protected.

There may be a need for requeue, but I've only used it to work around the
limitations on what a protected action may do, so I'm skeptical.

ISO/IEC 8652:2007 added synchronized. I think that could have simply reused task.

Ada 12 didn't expand this set of reserved words.

Ada 2X proposes adding parallel. Again, I think reusing task ("task begin" and
"task loop") would be fine.

So we will have 11 tasking-related reserved words (unless I've missed some), but
we only need select, task, and terminate (and maybe requeue), nearly a factor of
4 difference.

Maybe Ada 3X will add concurrent, and then there won't be any tasking terms that
aren't reserved words.

What do others think? Should Ada have made a greater effort at overloading
reserved words from the beginning? Should we belatedly object to adding parallel
when we have so many choices already? Or is having a large set of reserved
words, many of them with similar meanings, a good thing?

--
Jeff Carter
"Spam! Spam! Spam! Spam! Spam! Spam! Spam! Spam!"
Monty Python's Flying Circus
53

Re: Proliferation of Reserved Words

<s93kci$1f55$1@gioia.aioe.org>

  copy mid

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

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!aioe.org!5WHqCw2XxjHb2npjM9GYbw.user.gioia.aioe.org.POSTED!not-for-mail
From: mail...@dmitry-kazakov.de (Dmitry A. Kazakov)
Newsgroups: comp.lang.ada
Subject: Re: Proliferation of Reserved Words
Date: Mon, 31 May 2021 23:27:49 +0200
Organization: Aioe.org NNTP Server
Lines: 16
Message-ID: <s93kci$1f55$1@gioia.aioe.org>
References: <s93i9e$dj9$1@dont-email.me>
NNTP-Posting-Host: 5WHqCw2XxjHb2npjM9GYbw.user.gioia.aioe.org
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Complaints-To: abuse@aioe.org
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.10.2
Content-Language: en-US
X-Notice: Filtered by postfilter v. 0.9.2
 by: Dmitry A. Kazakov - Mon, 31 May 2021 21:27 UTC

On 2021-05-31 22:51, Jeffrey R. Carter wrote:

> What do others think? Should Ada have made a greater effort at
> overloading reserved words from the beginning? Should we belatedly
> object to adding parallel when we have so many choices already? Or is
> having a large set of reserved words, many of them with similar
> meanings, a good thing?

I believe that most of reserved keywords can be simply unreserved.
Actually there is no syntactic necessity except for few. The rest is
kept reserved for the sake of regularity only.

--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

Re: Proliferation of Reserved Words

<s94i2o$5hl$1@franka.jacob-sparre.dk>

  copy mid

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

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!gandalf.srv.welterde.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: Proliferation of Reserved Words
Date: Tue, 1 Jun 2021 00:54:31 -0500
Organization: JSA Research & Innovation
Lines: 56
Message-ID: <s94i2o$5hl$1@franka.jacob-sparre.dk>
References: <s93i9e$dj9$1@dont-email.me> <s93kci$1f55$1@gioia.aioe.org>
Injection-Date: Tue, 1 Jun 2021 05:54:32 -0000 (UTC)
Injection-Info: franka.jacob-sparre.dk; posting-host="rrsoftware.com:24.196.82.226";
logging-data="5685"; 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 - Tue, 1 Jun 2021 05:54 UTC

At least twice it was proposed that Ada have "keywords", identifiers with
special meaning in the syntax but that were not reserved. The last time (and
I forget precisely when that was), the ARG had a slight majority in favor of
unreserved keywords as well as reserved words. However, it was resoundly
rejected at the WG 9 level. At that time, WG 9 still voted by countries, and
it turned out that pretty much everyone in favor of unreserved keywords were
from North America. Most Europeans were appalled. Of course, that meant a WG
9 vote with 2 in favor and a large number against.

So whenever you think there are too many reserved words in Ada, be assured
that it was repeatedly suggested that they not all be reserved, but certain
countries would not allow it. At this point, we've given up, since it really
would not help much - the majority of words that likely ever be reserved
already are (it would most likely matter if a new proposal tried to reserve
some commonly used term - "yield" came up some some proposals for Ada 202x
that didn't go anywhere).

Jeff Carter should note the 8 different uses for "with" in the syntax before
he accuses anyone of not reusing reserved words in Ada. It's just the case
that it's hard to write something meaningful with the existing reserved
words (we almost always try).

"parallel" is an interesting case. In my world view, it is wildly different
from a task, because it is *checked*, does not *block* or *synchronize* with
another thread (all synchronization is via objects or completion), is
automatically created (in looping constructs) and therefore requires
substantial less care than writing a task. There is another world-view
where essentially the checking is not worthwhile and ergo must be
suppressed, that performance matters to the point at which a compiler isn't
allowed to make choices, and essentially requires *more* care than a task.
In that second world-view, parallel constructs are either harmful or
worthless. But even there, having a keyword makes it a lot easier to avoid
them than trying to figure out which libraries to block. :-)

Randy.

"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message
news:s93kci$1f55$1@gioia.aioe.org...
> On 2021-05-31 22:51, Jeffrey R. Carter wrote:
>
>> What do others think? Should Ada have made a greater effort at
>> overloading reserved words from the beginning? Should we belatedly object
>> to adding parallel when we have so many choices already? Or is having a
>> large set of reserved words, many of them with similar meanings, a good
>> thing?
>
> I believe that most of reserved keywords can be simply unreserved.
> Actually there is no syntactic necessity except for few. The rest is kept
> reserved for the sake of regularity only.
>
> --
> Regards,
> Dmitry A. Kazakov
> http://www.dmitry-kazakov.de

Re: Proliferation of Reserved Words

<87bl8qf2wt.fsf@nightsong.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: no.em...@nospam.invalid (Paul Rubin)
Newsgroups: comp.lang.ada
Subject: Re: Proliferation of Reserved Words
Date: Tue, 01 Jun 2021 00:40:50 -0700
Organization: A noiseless patient Spider
Lines: 14
Message-ID: <87bl8qf2wt.fsf@nightsong.com>
References: <s93i9e$dj9$1@dont-email.me> <s93kci$1f55$1@gioia.aioe.org>
<s94i2o$5hl$1@franka.jacob-sparre.dk>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="1bbd9652005230ee90f94b8d950008c2";
logging-data="19203"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19l2bHyEgm5wn05v5+PdhWg"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)
Cancel-Lock: sha1:Jr5iD/sTKo7KiDAkVjdhtrBGI6c=
sha1:jS4D3/stdMXmirf+lUJQd93zPdw=
 by: Paul Rubin - Tue, 1 Jun 2021 07:40 UTC

"Randy Brukardt" <randy@rrsoftware.com> writes:
> At least twice it was proposed that Ada have "keywords", identifiers with
> special meaning in the syntax but that were not reserved.

I remember this as a fundamental decision of PL/I that made PL/I quite
hard to parse using the automata-based methods developed not long
afterwards. I don't know what consequences that had for PL/I or
anything else, if any. But I think it was retrospectively considered a
mistake. It's a lot easier to separate parsing and scanning if you can
have reserved words.

OTOH I know that C compilers sometimes (usually?) handle typedefs by
having the parser tell the scanner to treat the typedef name as
keyword-like, after it sees that a typedef has been defined.

Re: Proliferation of Reserved Words

<s94vvg$3gf$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: spam.jrc...@spam.not.acm.org (Jeffrey R. Carter)
Newsgroups: comp.lang.ada
Subject: Re: Proliferation of Reserved Words
Date: Tue, 1 Jun 2021 11:51:44 +0200
Organization: Also freenews.netfront.net; news.tornevall.net;
news.eternal-september.org
Lines: 28
Message-ID: <s94vvg$3gf$1@dont-email.me>
References: <s93i9e$dj9$1@dont-email.me> <s93kci$1f55$1@gioia.aioe.org>
<s94i2o$5hl$1@franka.jacob-sparre.dk>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 1 Jun 2021 09:51:44 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="67b3d285d97ee37cb34f4368aa973394";
logging-data="3599"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+v9gCRMUlS9Udx0O+v1zi8GbklyYVAWBo="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.8.1
Cancel-Lock: sha1:vzdOgP2G2P1D8JmDtPcRCq/O6hU=
In-Reply-To: <s94i2o$5hl$1@franka.jacob-sparre.dk>
Content-Language: en-US
 by: Jeffrey R. Carter - Tue, 1 Jun 2021 09:51 UTC

On 6/1/21 7:54 AM, Randy Brukardt wrote:
> At least twice it was proposed that Ada have "keywords", identifiers with
> special meaning in the syntax but that were not reserved.

Unreserved keywords are one approach, though I'm not aware if they come with any
negatives. Then the question becomes which reserved words could become
unreserved keywords. (This can be restricted to reserved words related to
tasking/concurrency to avoid going through all the reserved words.)

> At that time, WG 9 still voted by countries

Does that imply that the voting has since changed and such a proposal might now
be accepted?

> Jeff Carter should note the 8 different uses for "with" in the syntax before
> he accuses anyone of not reusing reserved words in Ada. It's just the case
> that it's hard to write something meaningful with the existing reserved
> words (we almost always try).

I agree that the ARG has done a good job in reusing reserved words in many
cases, "with" being the most obvious. I concentrated on tasking/concurrency
reserved words since that seems to be an exception.

--
Jeff Carter
"Violence is the last refuge of the incompetent."
Foundation
151

Re: Proliferation of Reserved Words

<s956ql$1oi6$1@gioia.aioe.org>

  copy mid

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

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!aioe.org!JUN8/iIzeA71QWaIWFKODA.user.gioia.aioe.org.POSTED!not-for-mail
From: lagu...@archeia.com (Luke A. Guest)
Newsgroups: comp.lang.ada
Subject: Re: Proliferation of Reserved Words
Date: Tue, 1 Jun 2021 12:48:33 +0100
Organization: Aioe.org NNTP Server
Lines: 10
Message-ID: <s956ql$1oi6$1@gioia.aioe.org>
References: <s93i9e$dj9$1@dont-email.me>
NNTP-Posting-Host: JUN8/iIzeA71QWaIWFKODA.user.gioia.aioe.org
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Complaints-To: abuse@aioe.org
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.10.2
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: en-GB
 by: Luke A. Guest - Tue, 1 Jun 2021 11:48 UTC

On 31/05/2021 21:51, Jeffrey R. Carter wrote:
> Ada 83 (in)famously had 63 reserved words, which was considered a lot at
> the time (languages like C and Pascal had about half that). Considering
> only those related to tasking, there were 7:
>
> abort accept do entry select task terminate

I think you're about 40 years too late to complain now :P

Luke.

Re: Proliferation of Reserved Words

<lysg21zi0f.fsf@pushface.org>

  copy mid

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

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!aioe.org!yy9MKEJN2ULhWGfnfq4v5w.user.gioia.aioe.org.POSTED!not-for-mail
From: sim...@pushface.org (Simon Wright)
Newsgroups: comp.lang.ada
Subject: Re: Proliferation of Reserved Words
Date: Tue, 01 Jun 2021 17:06:40 +0100
Organization: Aioe.org NNTP Server
Lines: 12
Message-ID: <lysg21zi0f.fsf@pushface.org>
References: <s93i9e$dj9$1@dont-email.me> <s93kci$1f55$1@gioia.aioe.org>
<s94i2o$5hl$1@franka.jacob-sparre.dk>
NNTP-Posting-Host: yy9MKEJN2ULhWGfnfq4v5w.user.gioia.aioe.org
Mime-Version: 1.0
Content-Type: text/plain
X-Complaints-To: abuse@aioe.org
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (darwin)
Cancel-Lock: sha1:pT0TWSUqESdViDPWM6Sea14km6s=
X-Notice: Filtered by postfilter v. 0.9.2
 by: Simon Wright - Tue, 1 Jun 2021 16:06 UTC

"Randy Brukardt" <randy@rrsoftware.com> writes:

> At least twice it was proposed that Ada have "keywords", identifiers with
> special meaning in the syntax but that were not reserved. The last time (and
> I forget precisely when that was), the ARG had a slight majority in favor of
> unreserved keywords as well as reserved words.

interface, perhaps? I know we had quite a few identifiers with that
spelling!

TextUML is case-sensitive, so if you want to use a keyword as an
identifier you can capitalize it, or prefix it with a backslash

Re: Proliferation of Reserved Words

<827c60f6-b008-468b-9ab4-cf110edff252n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.ada
X-Received: by 2002:ad4:57c4:: with SMTP id y4mr9517131qvx.12.1622657582513; Wed, 02 Jun 2021 11:13:02 -0700 (PDT)
X-Received: by 2002:a25:6d82:: with SMTP id i124mr13295923ybc.165.1622657582346; Wed, 02 Jun 2021 11:13:02 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!news.uzoreto.com!tr2.eu1.usenetexpress.com!feeder.usenetexpress.com!tr2.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.ada
Date: Wed, 2 Jun 2021 11:13:02 -0700 (PDT)
In-Reply-To: <s956ql$1oi6$1@gioia.aioe.org>
Injection-Info: google-groups.googlegroups.com; posting-host=94.31.98.170; posting-account=rmHyLAoAAADSQmMWJF0a_815Fdd96RDf
NNTP-Posting-Host: 94.31.98.170
References: <s93i9e$dj9$1@dont-email.me> <s956ql$1oi6$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <827c60f6-b008-468b-9ab4-cf110edff252n@googlegroups.com>
Subject: Re: Proliferation of Reserved Words
From: christ-u...@t-online.de (AdaMagica)
Injection-Date: Wed, 02 Jun 2021 18:13:02 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 16
 by: AdaMagica - Wed, 2 Jun 2021 18:13 UTC

accept, entry vs. procedure, procedure body

This discussion really is 40 years late. But entries and procedures are in fact very different beasts.
A procedure is reentrant and has exactly one body.
An entry is not reentrant and cannot be called recursively; it has no body, rather it may have as many accept statements as you like or feel necessary (it may even have none - what the heck!).

So different keywords for them are quite reasonable.

Thinking about this:
Ultimatey, we could perhaps do with just one reserved word called keyword. Depending on the place where is stands makes it clear what it means:
keyword I keyword 1..10 keyword
X(I) := I + 1;
Keyword;

Hm, perhaps a bit extreme :-)

Re: Proliferation of Reserved Words

<s98lno$ais$1@gioia.aioe.org>

  copy mid

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

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!aioe.org!5WHqCw2XxjHb2npjM9GYbw.user.gioia.aioe.org.POSTED!not-for-mail
From: mail...@dmitry-kazakov.de (Dmitry A. Kazakov)
Newsgroups: comp.lang.ada
Subject: Re: Proliferation of Reserved Words
Date: Wed, 2 Jun 2021 21:21:31 +0200
Organization: Aioe.org NNTP Server
Lines: 38
Message-ID: <s98lno$ais$1@gioia.aioe.org>
References: <s93i9e$dj9$1@dont-email.me> <s956ql$1oi6$1@gioia.aioe.org>
<827c60f6-b008-468b-9ab4-cf110edff252n@googlegroups.com>
NNTP-Posting-Host: 5WHqCw2XxjHb2npjM9GYbw.user.gioia.aioe.org
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Complaints-To: abuse@aioe.org
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.10.2
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: en-US
 by: Dmitry A. Kazakov - Wed, 2 Jun 2021 19:21 UTC

On 2021-06-02 20:13, AdaMagica wrote:

> This discussion really is 40 years late. But entries and procedures are in fact very different beasts.
> A procedure is reentrant and has exactly one body.
> An entry is not reentrant and cannot be called recursively; it has no body, rather it may have as many accept statements as you like or feel necessary (it may even have none - what the heck!).

Yes, but I would argue that these are implementation details. It might
have sense to consider them having same interface, as we do now, after
the dot-notation was introduced. In Ada 83 it was not so.

> So different keywords for them are quite reasonable.

So long the implementation details leak, as we have no tagged tasks and
protected objects and no multiple dispatch. Otherwise all calling
notations could be made fully equivalent for all bodies.

> Thinking about this:
> Ultimatey, we could perhaps do with just one reserved word called keyword. Depending on the place where is stands makes it clear what it means:
> keyword I keyword 1..10 keyword
> X(I) := I + 1;
> Keyword;

Yes, one needs only one pair of delimiters. It reminds me construction
of Z in ZFS using sets:

0 = Ø
1 = {Ø}
2 = {{Ø}}
...

Similarly the for-loop could be:

(<index>, <from>, <to>, <body>)

--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

Re: Proliferation of Reserved Words

<s98op9$38c$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: new...@cct-net.co.uk (Chris Townley)
Newsgroups: comp.lang.ada
Subject: Re: Proliferation of Reserved Words
Date: Wed, 2 Jun 2021 21:13:28 +0100
Organization: A noiseless patient Spider
Lines: 30
Message-ID: <s98op9$38c$1@dont-email.me>
References: <s93i9e$dj9$1@dont-email.me> <s956ql$1oi6$1@gioia.aioe.org>
<827c60f6-b008-468b-9ab4-cf110edff252n@googlegroups.com>
<s98lno$ais$1@gioia.aioe.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 2 Jun 2021 20:13:29 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="a592e3a042c6ca2cb1d898ecb777f402";
logging-data="3340"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/PEZZW+Hz9tGJnYkF1Ee/B6WpfxEaWvXQ="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.10.2
Cancel-Lock: sha1:AEIPHjFKHvst7y/MZayb8Z1LJiY=
In-Reply-To: <s98lno$ais$1@gioia.aioe.org>
Content-Language: en-GB
 by: Chris Townley - Wed, 2 Jun 2021 20:13 UTC

On 02/06/2021 20:21, Dmitry A. Kazakov wrote:

>
> Yes, one needs only one pair of delimiters. It reminds me construction
> of Z in ZFS using sets:
>
>    0 = Ø
>    1 = {Ø}
>    2 = {{Ø}}
>    ...
>
> Similarly the for-loop could be:
>
>   (<index>, <from>, <to>, <body>)
>

Reminds me of extensive code I supported in VMS Basic - after 1500 odd
lines, the procedure ended with:

UNLESS Z

Z was not a local variable - global.

Try searching a massive code base for Z...

Took awhile dredging through the various callers

--
Chris

Re: Proliferation of Reserved Words

<s98p2b$44g$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: spam.jrc...@spam.not.acm.org (Jeffrey R. Carter)
Newsgroups: comp.lang.ada
Subject: Re: Proliferation of Reserved Words
Date: Wed, 2 Jun 2021 22:18:19 +0200
Organization: Also freenews.netfront.net; news.tornevall.net;
news.eternal-september.org
Lines: 34
Message-ID: <s98p2b$44g$1@dont-email.me>
References: <s93i9e$dj9$1@dont-email.me> <s956ql$1oi6$1@gioia.aioe.org>
<827c60f6-b008-468b-9ab4-cf110edff252n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 2 Jun 2021 20:18:19 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="2ccbe3c62682b87a957440e43bb43768";
logging-data="4240"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18Z9v3x7itaWvBA1jni5TGjK2T5lR1SU6c="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.8.1
Cancel-Lock: sha1:BAVgsyVjuL54jJGflJOkxYkGfRc=
In-Reply-To: <827c60f6-b008-468b-9ab4-cf110edff252n@googlegroups.com>
Content-Language: en-US
 by: Jeffrey R. Carter - Wed, 2 Jun 2021 20:18 UTC

On 6/2/21 8:13 PM, AdaMagica wrote:
> accept, entry vs. procedure, procedure body
>
> This discussion really is 40 years late.

Regarding what we have in Ada, sure. Regarding whether we can or should do more
to avoid new reserved words in the future, no. And if there is ever a successor
language, this is something that should be considered.

> But entries and procedures are in fact very different beasts.

Under the hood, yes. In appearance and how they are called, not so much. And
that seems like the important thing.

> Ultimatey, we could perhaps do with just one reserved word called keyword. Depending on the place where is stands makes it clear what it means:
> keyword I keyword 1..10 keyword
> X(I) := I + 1;
> Keyword;

I'm pretty sure that last line should be

keyword keyword;

> Hm, perhaps a bit extreme :-)

Well, some people write Whitespace, but for Ada, probably.

--
Jeff Carter
"I did not rob a bank. If I'd robbed a bank, everything
would be great. I tried to rob a bank, is what happened,
and they got me."
Take the Money and Run
139

Re: Proliferation of Reserved Words

<0001HW.26684A72012ECEAA700009A5738F@news.individual.net>

  copy mid

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

  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: findlayb...@blueyonder.co.uk (Bill Findlay)
Newsgroups: comp.lang.ada
Subject: Re: Proliferation of Reserved Words
Date: Thu, 03 Jun 2021 00:23:30 +0100
Organization: none
Lines: 20
Message-ID: <0001HW.26684A72012ECEAA700009A5738F@news.individual.net>
References: <s93i9e$dj9$1@dont-email.me> <s956ql$1oi6$1@gioia.aioe.org> <827c60f6-b008-468b-9ab4-cf110edff252n@googlegroups.com>
Reply-To: findlaybill@blueyonder.co.uk
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Trace: individual.net CzgvfoQww+u4VG5A+S0cSQpGmjauSVuuODUxFnjakdwtOnMJLc
X-Orig-Path: not-for-mail
Cancel-Lock: sha1:rqS485Sq055FPpve1YORWpcgWjg=
User-Agent: Hogwasher/5.24
 by: Bill Findlay - Wed, 2 Jun 2021 23:23 UTC

On 2 Jun 2021, AdaMagica wrote
(in article<827c60f6-b008-468b-9ab4-cf110edff252n@googlegroups.com>):

> Thinking about this:

> Ultimatey, we could perhaps do with just one reserved word called keyword.
> Depending on the place where is stands makes it clear what it means:

> keyword I keyword 1..10 keyword
> X(I) := I + 1;
> Keyword;

Should that not finish off thus:

keyword keyword;

? 8-)
--
Bill Findlay

Re: Proliferation of Reserved Words

<05793348-cd9c-4967-8868-07f9c5ae63f7n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.ada
X-Received: by 2002:a37:4484:: with SMTP id r126mr30848574qka.18.1622710109364;
Thu, 03 Jun 2021 01:48:29 -0700 (PDT)
X-Received: by 2002:a25:db13:: with SMTP id g19mr48478291ybf.462.1622710109188;
Thu, 03 Jun 2021 01:48:29 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.snarked.org!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.ada
Date: Thu, 3 Jun 2021 01:48:29 -0700 (PDT)
In-Reply-To: <87bl8qf2wt.fsf@nightsong.com>
Injection-Info: google-groups.googlegroups.com; posting-host=202.67.103.232; posting-account=S_MdrwoAAAD7T2pxG2e393dk6y0tc0Le
NNTP-Posting-Host: 202.67.103.232
References: <s93i9e$dj9$1@dont-email.me> <s93kci$1f55$1@gioia.aioe.org>
<s94i2o$5hl$1@franka.jacob-sparre.dk> <87bl8qf2wt.fsf@nightsong.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <05793348-cd9c-4967-8868-07f9c5ae63f7n@googlegroups.com>
Subject: Re: Proliferation of Reserved Words
From: robin.vo...@gmail.com (Robin Vowels)
Injection-Date: Thu, 03 Jun 2021 08:48:29 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 27
 by: Robin Vowels - Thu, 3 Jun 2021 08:48 UTC

On Tuesday, June 1, 2021 at 5:40:53 PM UTC+10, Paul Rubin wrote:
> "Randy Brukardt" <ra...@rrsoftware.com> writes:
> > At least twice it was proposed that Ada have "keywords", identifiers with
> > special meaning in the syntax but that were not reserved.
..
> I remember this as a fundamental decision of PL/I that made PL/I quite
> hard to parse using the automata-based methods developed not long
> afterwards. I don't know what consequences that had for PL/I or
> anything else, if any. But I think it was retrospectively considered a
> mistake.
..
It was definitely never considered a mistake in PL/I.
Not having reserved words means that you do not have
to steer clear of using any particular words when you
design a program.
It also means that a program will continue to compile
even when new keywords are introduced into the language.
Over the years, new keywords were introduced into PL/I,
without invalidating existing programs.
..
Reserved words are the bane of COBOL.
..
> It's a lot easier to separate parsing and scanning if you can
> have reserved words.
>
> OTOH I know that C compilers sometimes (usually?) handle typedefs by
> having the parser tell the scanner to treat the typedef name as
> keyword-like, after it sees that a typedef has been defined.

Re: Proliferation of Reserved Words

<87pmx2wleo.fsf@nosuchdomain.example.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: Keith.S....@gmail.com (Keith Thompson)
Newsgroups: comp.lang.ada
Subject: Re: Proliferation of Reserved Words
Date: Thu, 03 Jun 2021 16:58:23 -0700
Organization: None to speak of
Lines: 29
Message-ID: <87pmx2wleo.fsf@nosuchdomain.example.com>
References: <s93i9e$dj9$1@dont-email.me> <s956ql$1oi6$1@gioia.aioe.org>
<827c60f6-b008-468b-9ab4-cf110edff252n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="79a2d783cb3312756c8301564188b04a";
logging-data="26008"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+xLZX4HxQf8UL3DInLtMsf"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
Cancel-Lock: sha1:EFrnk3oLfXikujhXxH9ysqYW7F8=
sha1:FEDa0BtTcKAxkJx/ALhbuYQA6LE=
 by: Keith Thompson - Thu, 3 Jun 2021 23:58 UTC

AdaMagica <christ-usch.grein@t-online.de> writes:
> accept, entry vs. procedure, procedure body
>
> This discussion really is 40 years late. But entries and procedures are in fact very different beasts.
> A procedure is reentrant and has exactly one body.
> An entry is not reentrant and cannot be called recursively; it has no body, rather it may have as many accept statements as you like or feel necessary (it may even have none - what the heck!).
>
> So different keywords for them are quite reasonable.
>
> Thinking about this:
> Ultimatey, we could perhaps do with just one reserved word called keyword. Depending on the place where is stands makes it clear what it means:
> keyword I keyword 1..10 keyword
> X(I) := I + 1;
> Keyword;
>
> Hm, perhaps a bit extreme :-)

In a case-sensitive language, you can have 128 variations of "keyword".

keyword I Keyword 1..10 keyWord
X(I) := I + 1;
keyworD keyWord

Much more legible.

--
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
Working, but not speaking, for Philips Healthcare
void Void(void) { Void(); } /* The recursive call of the void */

Re: Proliferation of Reserved Words

<s9civ4$1fcr$1@gioia.aioe.org>

  copy mid

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

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!aioe.org!5WHqCw2XxjHb2npjM9GYbw.user.gioia.aioe.org.POSTED!not-for-mail
From: mail...@dmitry-kazakov.de (Dmitry A. Kazakov)
Newsgroups: comp.lang.ada
Subject: Re: Proliferation of Reserved Words
Date: Fri, 4 Jun 2021 08:58:44 +0200
Organization: Aioe.org NNTP Server
Lines: 28
Message-ID: <s9civ4$1fcr$1@gioia.aioe.org>
References: <s93i9e$dj9$1@dont-email.me> <s956ql$1oi6$1@gioia.aioe.org>
<827c60f6-b008-468b-9ab4-cf110edff252n@googlegroups.com>
<87pmx2wleo.fsf@nosuchdomain.example.com>
NNTP-Posting-Host: 5WHqCw2XxjHb2npjM9GYbw.user.gioia.aioe.org
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Complaints-To: abuse@aioe.org
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.11.0
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: en-US
 by: Dmitry A. Kazakov - Fri, 4 Jun 2021 06:58 UTC

On 2021-06-04 01:58, Keith Thompson wrote:
> AdaMagica <christ-usch.grein@t-online.de> writes:
>> accept, entry vs. procedure, procedure body
>>
>> This discussion really is 40 years late. But entries and procedures are in fact very different beasts.
>> A procedure is reentrant and has exactly one body.
>> An entry is not reentrant and cannot be called recursively; it has no body, rather it may have as many accept statements as you like or feel necessary (it may even have none - what the heck!).
>>
>> So different keywords for them are quite reasonable.
>>
>> Thinking about this:
>> Ultimatey, we could perhaps do with just one reserved word called keyword. Depending on the place where is stands makes it clear what it means:
>> keyword I keyword 1..10 keyword
>> X(I) := I + 1;
>> Keyword;
>>
>> Hm, perhaps a bit extreme :-)
>
> In a case-sensitive language, you can have 128 variations of "keyword".

In a Unicode language it is much more, because many Latin glyphs like k,
e, y, o repeat in other alphabets. Furthermore, F, K, C appear as
special entries as degrees etc.

--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor