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 2002:a6b:8d8e:: with SMTP id p136-v6mr2949580iod.32.1527339825468; Sat, 26 May 2018 06:03:45 -0700 (PDT) X-Received: by 2002:aca:2817:: with SMTP id 23-v6mr22290oix.7.1527339825281; Sat, 26 May 2018 06:03:45 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!feeder.erje.net!2.eu.feeder.erje.net!newsfeed.xs4all.nl!newsfeed8.news.xs4all.nl!85.12.16.69.MISMATCH!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.am4!peer.am4.highwinds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!u74-v6no3204499itb.0!news-out.google.com!b185-v6ni2662itb.0!nntp.google.com!u74-v6no3204498itb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Sat, 26 May 2018 06:03:45 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=2a02:c7d:3c35:b000:325a:3aff:fe0f:37a5; posting-account=L2-UcQkAAAAfd_BqbeNHs3XeM0jTXloS NNTP-Posting-Host: 2a02:c7d:3c35:b000:325a:3aff:fe0f:37a5 References: <574749990.548999719.627915.laguest-archeia.com@nntp.aioe.org> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: Multiple iterators for a type From: Lucretia Injection-Date: Sat, 26 May 2018 13:03:45 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Received-Bytes: 2952 X-Received-Body-CRC: 4102013386 Xref: reader02.eternal-september.org comp.lang.ada:52695 Date: 2018-05-26T06:03:45-07:00 List-Id: On Saturday, 26 May 2018 07:59:59 UTC+1, Dmitry A. Kazakov wrote: > On 2018-05-26 05:57, Luke A. Guest wrote: > > Stephen Leake <> wrote: > >=20 > >> An "iterator" can be anything you want it to be. As Randy pointed out, > >> there can be only one that gets special treatment from the compiler, b= ut > >> you did not mention that as a requirement. > >> > >=20 > > I=E2=80=99m attempting to implement a Unicode string using UTF-8, so I = want the > > basic iterator over octets, then the next will iterate over the octets = and > > generate code points, then another will be graph=C3=A8me clusters. >=20 > Why do you bother? I mean, there is no solution for having a=20 > user-defined array type in Ada. Iterator is only a small part of it.=20 > Even if the iterator kludge worked somehow, the rest would not. >=20 > Multiple inheritance is not complete either, so having two array=20 > interfaces for one object will be extremely difficult and uncomfortable.= =20 > You will end up with a mess of helper generic packages to emulate full=20 > inheritance. [I went that way, there is nothing good there.] >=20 > In short, there is nothing useful Ada 20xx could bring to the problem of= =20 > dealing with encoded strings. Sorry, didn't understand a word of this wrt to my post. We can't have user defined array types in Ada? WTF? What wouldn't work? How is MI involved here? What has Ada 20xx got to do with anything? Totally lost.