comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Strange crash on custom iterator
Date: Wed, 4 Jul 2018 09:37:41 +0200
Date: 2018-07-04T09:37:41+02:00	[thread overview]
Message-ID: <phhtg4$1vpe$1@gioia.aioe.org> (raw)
In-Reply-To: 7180e44d-6e11-4df3-ae01-96829298c03c@googlegroups.com

On 2018-07-04 03:59, Lucretia wrote:

> I've just read it. Yeah, I agree that Ada should be able to extend records with data, not functions/procedures, but I don't see how the lack of that is a hindrance to creating a decent unicode lib. The fact that he refuses to answer such a simple question, i.e "WTF are you on about?" explains a lot.

I never refuse answering. Let me state the requirements of a sane 
implementation:

1. All types related. You can pass String where UTF8_String is expected 
and conversely keeping the *semantics*. That means that when one string 
contains a-umlaut it stays a-umlaut in another string.

2. All strings are arrays of Unicode points. You can iterate characters 
even in an UTF-8 string or a DEC RADIX-50 string.

3. All strings are arrays of the corresponding representation units. You 
can iterate representation units.

4. All string representations stripped of the the bounds have machine 
representations in the stated encoding. You can pass a flat UTF-8 string 
down to a C library with no fuss.

5. For any string operation one can provide either a type-specific 
implementation or inherit a body from another strings type (see #1). You 
can write a specific Put_Line for Latin-1 string or use (inherit) 
Put_Line for UTF-8 string.
--------------

The point is that this is impossible in Ada. If you think otherwise, you 
are welcome to outline a way.

What fixes required to be able to implement it is a subject of serious 
discussion about the Ada type system, which nobody seemingly is 
interested in, at the time. Though I am ready when you are.

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

  reply	other threads:[~2018-07-04  7:37 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 [this message]
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
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