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,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.36.112.2 with SMTP id f2mr718483itc.36.1513644008951; Mon, 18 Dec 2017 16:40:08 -0800 (PST) X-Received: by 10.157.83.199 with SMTP id i7mr56218oth.3.1513644008831; Mon, 18 Dec 2017 16:40:08 -0800 (PST) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!news.kjsl.com!usenet.stanford.edu!g80no103811itg.0!news-out.google.com!b73ni324ita.0!nntp.google.com!g80no103808itg.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Mon, 18 Dec 2017 16:40:08 -0800 (PST) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=173.71.208.22; posting-account=QF6XPQoAAABce2NyPxxDAaKdAkN6RgAf NNTP-Posting-Host: 173.71.208.22 References: <1ac5a44b-4423-443a-a7bb-2864d9abe78f@googlegroups.com> <3df6404a-588d-4e2d-a189-1d1e32ce9f5d@googlegroups.com> <73b4a9bd-1f3b-42b9-9ef7-5303b0a88794@googlegroups.com> <427478f8-298f-49b3-9cc1-4cfd58da6bd4@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <4b355dd2-b7c2-495a-8377-306b500fcb78@googlegroups.com> Subject: Re: Prefixed notation for non tagged types From: Jere Injection-Date: Tue, 19 Dec 2017 00:40:08 +0000 Content-Type: text/plain; charset="UTF-8" Xref: reader02.eternal-september.org comp.lang.ada:49528 Date: 2017-12-18T16:40:08-08:00 List-Id: On Sunday, December 17, 2017 at 10:06:38 AM UTC-5, Simon Wright wrote: > Jere writes: > > > On Monday, July 3, 2017 at 10:18:33 PM UTC-4, Randy Brukardt wrote: > >> "Jere" wrote in message > >> > On Sunday, July 2, 2017 at 8:04:56 PM UTC-4, Randy Brukardt wrote: > >> >> (3) Since prefixed notation does automatic dereferencing and referencing > >> >> (that is, .all and 'Access), allowing it on all types caused levels of > >> >> ambiguity (and potentially infinite regress). It was easier to just > >> >> define > >> >> it on tagged types, which didn't have those issues. Perhaps it could have > >> >> been made to work, but it was more work for a feature that already had > >> >> significant opposition; probably it would have been dropped rather than > >> >> getting more complicated. (Sound like a broken record??) > >> > > >> > Was there any consideration to having prefixed notation to > >> > apply to all record types and add a way to denote that a private > >> > type is a record type (there should be many ways to do that)? > >> > We don't really need it on all types, just record types. > >> > >> Not that I recall, but requiring an indication that a private type is > >> completed by a record seems like noise (99% of private types are completed > >> by some sort of record as it is). It would be better the other way around > >> (indicate when it is *not* completed by a record), but of course that would > >> be incompatible. Still seems best for Ada'Succ. > >> > >> Randy. > > > > I know this is an old email chain, but I've been thinking about this > > more recently. For background, I asked if there could be a way to > > denote that a private type was a record type, so that Prefixed notation > > could be used on non tagged types. Randy noted that since most private > > types were record types, it would just be noise. I wanted to revisit > > this thought. Forgive me if there is a good way to split the chain. > > I don't know how to do that. > > I don't understand why prefixed notation should be limited to private > types that are completed by records? > > Naturally, I wasn't involved in any ARG discussions about this (not > being a member!), but I'd have thought the ideal would be for any > derived type (which includes private types, I think?) to be a candidate. I wasn't intending that it be limited to record types. When I had asked way back in this chain's history I was told it wasn't possible, so I was trying baby steps. All record types would be the next logical step after tagged types. I would definitely be happy with a wider array of options for it.