From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Strange crash on custom iterator
Date: Wed, 4 Jul 2018 12:01:10 +0200
Date: 2018-07-04T12:01:10+02:00 [thread overview]
Message-ID: <phi5t5$g0q$1@gioia.aioe.org> (raw)
In-Reply-To: phi5hp$fbv$1@gioia.aioe.org
On 2018-07-04 11:55, J-P. Rosen wrote:
> Le 04/07/2018 à 09:53, Dmitry A. Kazakov a écrit :
>> On 2018-07-04 09:33, J-P. Rosen wrote:
>> Premature optimization, huh? And you still need UTF-8 string type
>> even if you are going to convert it to something else. Back to the
>> square one, how to design an UTF-8 string type?
>>
> Choosing a representation that allows a more efficient algorithm is
> proper design, not premature optimization.
But UTF-8 is actually more efficient in most cases than
Wide_Wide_String. Random string indexing is practically never used.
> And the point is that when you receive a string, you don't know before
> looking at the BOM (or other recognition techniques) whether the octets
> you received are pure Latin-1 or UTF_8 encoded. So you need to store it
> in a plain String.
That is not a string at all, it is a stream array or an array of octets.
> We discussed that point, and the agreement was that making a different
> type would force the user to many conversions that would bring nothing
> but trouble, and make Ada once again look impractical out of excessive
> purism.
Exactly my point. Explicit conversion are necessary because Ada's type
system is unable to model strings in a type-safe way.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2018-07-04 10:01 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-30 10:48 Strange crash on custom iterator Lucretia
2018-06-30 11:32 ` Simon Wright
2018-06-30 12:02 ` Lucretia
2018-06-30 14:25 ` Simon Wright
2018-06-30 14:33 ` Lucretia
2018-06-30 19:25 ` Simon Wright
2018-06-30 19:36 ` Luke A. Guest
2018-07-01 18:06 ` Jacob Sparre Andersen
2018-07-01 19:59 ` Simon Wright
2018-07-02 17:43 ` Luke A. Guest
2018-07-02 19:42 ` Simon Wright
2018-07-03 14:08 ` Lucretia
2018-07-03 14:17 ` J-P. Rosen
2018-07-03 15:06 ` Lucretia
2018-07-03 15:45 ` J-P. Rosen
2018-07-03 15:55 ` Lucretia
2018-07-03 17:00 ` J-P. Rosen
2018-07-03 15:57 ` Dmitry A. Kazakov
2018-07-03 16:07 ` Lucretia
2018-07-03 16:36 ` Dmitry A. Kazakov
2018-07-03 16:42 ` Lucretia
2018-07-03 16:45 ` Lucretia
2018-07-03 20:18 ` Dmitry A. Kazakov
2018-07-03 21:04 ` Lucretia
2018-07-04 1:26 ` Dan'l Miller
2018-07-04 1:59 ` Lucretia
2018-07-04 7:37 ` Dmitry A. Kazakov
2018-07-04 12:46 ` Dan'l Miller
2018-07-04 13:37 ` Dennis Lee Bieber
2018-07-04 7:21 ` Dmitry A. Kazakov
2018-07-03 18:54 ` Dan'l Miller
2018-07-03 20:22 ` Dmitry A. Kazakov
2018-07-04 7:33 ` J-P. Rosen
2018-07-04 7:53 ` Dmitry A. Kazakov
2018-07-04 9:55 ` J-P. Rosen
2018-07-04 10:01 ` Dmitry A. Kazakov [this message]
2018-07-04 11:30 ` J-P. Rosen
2018-07-04 13:27 ` Dmitry A. Kazakov
2018-07-04 14:37 ` Dan'l Miller
2018-07-04 14:43 ` Dan'l Miller
2018-07-04 14:57 ` J-P. Rosen
2018-07-04 15:41 ` Lucretia
2018-07-04 16:55 ` Dan'l Miller
2018-07-04 18:01 ` Shark8
2018-07-04 18:57 ` Dmitry A. Kazakov
2018-07-04 19:53 ` Shark8
2018-07-04 20:05 ` Lucretia
2018-07-04 22:04 ` Shark8
2018-07-05 0:12 ` Dan'l Miller
2018-07-05 1:46 ` Shark8
2018-07-05 2:07 ` Luke A. Guest
2018-07-05 16:47 ` Shark8
2018-07-05 17:19 ` Dan'l Miller
2018-07-05 19:14 ` Shark8
2018-07-04 20:43 ` Dmitry A. Kazakov
2018-07-04 17:51 ` Jacob Sparre Andersen
2018-07-04 18:06 ` Shark8
2018-07-04 18:59 ` Dan'l Miller
2018-07-04 19:01 ` Dmitry A. Kazakov
2018-07-05 18:08 ` Randy Brukardt
2018-07-05 19:41 ` Dmitry A. Kazakov
2018-07-04 21:00 ` Jacob Sparre Andersen
2018-07-05 18:06 ` Randy Brukardt
2018-07-04 19:02 ` G. B.
2018-07-04 19:16 ` Dmitry A. Kazakov
2018-07-04 20:40 ` G. B.
2018-07-04 20:55 ` Dmitry A. Kazakov
2018-07-04 21:21 ` G.B.
2018-07-05 7:55 ` Dmitry A. Kazakov
2018-07-06 8:28 ` G.B.
2018-07-06 8:57 ` Dmitry A. Kazakov
2018-07-02 8:31 ` Lucretia
2018-06-30 14:34 ` Lucretia
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox