From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Multiple iterators for a type
Date: Sat, 26 May 2018 15:52:14 +0200
Date: 2018-05-26T15:52:14+02:00 [thread overview]
Message-ID: <peboqf$f7q$1@gioia.aioe.org> (raw)
In-Reply-To: dacd8a64-8cdd-40ac-8701-c06db9ae7e48@googlegroups.com
On 2018-05-26 15:03, Lucretia wrote:
> 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:
>>>
>>>> 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, but
>>>> you did not mention that as a requirement.
>>>>
>>>
>>> I’m 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ème clusters.
>>
>> Why do you bother? I mean, there is no solution for having a
>> user-defined array type in Ada. Iterator is only a small part of it.
>> Even if the iterator kludge worked somehow, the rest would not.
>>
>> Multiple inheritance is not complete either, so having two array
>> interfaces for one object will be extremely difficult and uncomfortable.
>> You will end up with a mess of helper generic packages to emulate full
>> inheritance. [I went that way, there is nothing good there.]
>>
>> In short, there is nothing useful Ada 20xx could bring to the problem of
>> 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?
There are only built-in arrays in Ada. You cannot have an array ADT
providing your array object representation and/or implementation of
array operations.
> What wouldn't work?
Implementation of encoded string with two array views of it, as an array
of encoding units and an array of characters/glyphs/code points etc.
> How is MI involved here?
An encoded string implements two array interfaces. Add here
fixed/bounded/unbounded axis and you will have a lot of things to
inherit from and export to. You would certainly want to be able to mix
all possible combinations of these.
> What has Ada 20xx got to do with anything?
You can stick to Ada 95. Iterators and interfaces do not help much with
encoded strings.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2018-05-26 13:52 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-25 16:49 Multiple iterators for a type Lucretia
2018-05-25 19:50 ` Jacob Sparre Andersen
2018-05-25 21:50 ` Randy Brukardt
2018-05-26 3:13 ` Stephen Leake
2018-05-26 3:57 ` Luke A. Guest
2018-05-26 4:44 ` Jere
2018-05-26 6:59 ` Dmitry A. Kazakov
2018-05-26 12:33 ` Dan'l Miller
2018-05-26 13:03 ` Lucretia
2018-05-26 13:52 ` Dmitry A. Kazakov [this message]
2018-05-26 14:22 ` Dan'l Miller
2018-05-26 7:14 ` G.B.
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox