comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Ada and Unicode
Date: Tue, 20 Apr 2021 14:06:26 -0500	[thread overview]
Message-ID: <s5n8nj$cec$1@franka.jacob-sparre.dk> (raw)
In-Reply-To: s5jute$1s08$1@gioia.aioe.org

"Luke A. Guest" <laguest@archeia.com> wrote in message 
news:s5jute$1s08$1@gioia.aioe.org...
>
>
> On 19/04/2021 13:52, Dmitry A. Kazakov wrote:
>
> > It is practical solution. Ada type system cannot express differently
> represented/constrained string/array/vector subtypes. Ignoring Latin-1 and 
> using String as if it were an array of octets is the best available 
> solution.
> >
>
> They're different types and should be incompatible, because, well, they 
> are. What does Ada have that allows for this that other languages doesn't? 
> Oh yeah! Types!

If they're incompatible, you need an automatic way to convert between 
representations, since these are all views of the same thing (an abstract 
string type). You really don't want 35 versions of Open each taking a 
different string type.

It's the fact that Ada can't do this that makes Unbounded_Strings unusable 
(well, barely usable). Ada 202x fixes the literal problem at least, but we'd 
have to completely abandon Unbounded_Strings and use a different library 
design in order for for it to allow literals. And if you're going to do 
that, you might as well do something about UTF-8 as well -- but now you're 
going to need even more conversions. Yuck.

I think the only true solution here would be based on a proper abstract 
Root_String type. But that wouldn't work in Ada, since it would be 
incompatible with all of the existing code out there. Probably would have to 
wait for a follow-on language.

                 Randy.


  parent reply	other threads:[~2021-04-20 19:06 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-17 22:03 Ada and Unicode DrPi
2021-04-18  0:02 ` Luke A. Guest
2021-04-19  9:09   ` DrPi
2021-04-19  8:29 ` Maxim Reznik
2021-04-19  9:28   ` DrPi
2021-04-19 13:50     ` Maxim Reznik
2021-04-19 15:51       ` DrPi
2021-04-19 11:15   ` Simon Wright
2021-04-19 11:50     ` Luke A. Guest
2021-04-19 15:53     ` DrPi
2022-04-03 19:20     ` Thomas
2022-04-04  6:10       ` Vadim Godunko
2022-04-04 14:19         ` Simon Wright
2022-04-04 15:11           ` Simon Wright
2022-04-05  7:59           ` Vadim Godunko
2022-04-08  9:01             ` Simon Wright
2023-03-30 23:35         ` Thomas
2022-04-04 14:33       ` Simon Wright
2021-04-19  9:08 ` Stephen Leake
2021-04-19  9:34   ` Dmitry A. Kazakov
2021-04-19 11:56   ` Luke A. Guest
2021-04-19 12:13     ` Luke A. Guest
2021-04-19 15:48       ` DrPi
2021-04-19 12:52     ` Dmitry A. Kazakov
2021-04-19 13:00       ` Luke A. Guest
2021-04-19 13:10         ` Dmitry A. Kazakov
2021-04-19 13:15           ` Luke A. Guest
2021-04-19 13:31             ` Dmitry A. Kazakov
2022-04-03 17:24               ` Thomas
2021-04-19 13:24         ` J-P. Rosen
2021-04-20 19:13           ` Randy Brukardt
2022-04-03 18:04           ` Thomas
2022-04-06 18:57             ` J-P. Rosen
2022-04-07  1:30               ` Randy Brukardt
2022-04-08  8:56                 ` Simon Wright
2022-04-08  9:26                   ` Dmitry A. Kazakov
2022-04-08 19:19                     ` Simon Wright
2022-04-08 19:45                       ` Dmitry A. Kazakov
2022-04-09  4:05                         ` Randy Brukardt
2022-04-09  7:43                           ` Simon Wright
2022-04-09 10:27                           ` DrPi
2022-04-09 16:46                             ` Dennis Lee Bieber
2022-04-09 18:59                               ` DrPi
2022-04-10  5:58                             ` Vadim Godunko
2022-04-10 18:59                               ` DrPi
2022-04-12  6:13                               ` Randy Brukardt
2021-04-19 16:07         ` DrPi
2021-04-20 19:06         ` Randy Brukardt [this message]
2022-04-03 18:37           ` Thomas
2022-04-04 23:52             ` Randy Brukardt
2023-03-31  3:06               ` Thomas
2023-04-01 10:18                 ` Randy Brukardt
2021-04-19 16:14   ` DrPi
2021-04-19 17:12     ` Björn Lundin
2021-04-19 19:44       ` DrPi
2022-04-16  2:32   ` Thomas
2021-04-19 13:18 ` Vadim Godunko
2022-04-03 16:51   ` Thomas
2023-04-04  0:02     ` Thomas
2021-04-19 22:40 ` Shark8
2021-04-20 15:05   ` Simon Wright
2021-04-20 19:17     ` Randy Brukardt
2021-04-20 20:04       ` Simon Wright
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox