comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Textedit and txt
Date: Mon, 11 May 2015 19:49:00 +0200
Date: 2015-05-11T19:49:00+02:00	[thread overview]
Message-ID: <46kzgvf2e1zi.1fybl8d0lwp4s.dlg@40tude.net> (raw)
In-Reply-To: e80a55d6-562a-4ef9-9c5f-1623600ae3e1@googlegroups.com

On Mon, 11 May 2015 10:00:38 -0700 (PDT), Shark8 wrote:

> On Friday, May 8, 2015 at 5:35:52 PM UTC-6, Randy Brukardt wrote:
>> "Laurent" wrote in message 
>> news:35aabdcd-6064-4999-9cdf-d143b0593a31 at googlegroups.com...
>>> On Wednesday, May 6, 2015 at 11:23:36 PM UTC+2, Randy Brukardt wrote:
>> ...
>>>>I'd prefer a completely different design for both of these packages, so we 
>>>>could add some
>>>>mechanism to allow direct conversions, but that's likely too radical.)
>>>
>>> Why would that be too radical?
>> 
>> Well, either we'd modify the existing packages (which would be very 
>> incompatible, so it would never happen), or we'd have to add new ones. In 
>> the later case, there would be a lot of opposition because we'd be 
>> duplicating functionality. If it happened, it would happen because of adding 
>> something like Root_String'Class to the language; then we'd need packages on 
>> that type and those would necessarily be new. But I'm not expecting much 
>> happening on that.
> 
> Question: Why couldn't we define new string packages and allow the old
> ones to be placed in [e.g.] Ada.Annex_J.[old-package] with perhaps
> allowing compilers to rename the Annex_J children within the library as
> the Strings-packages?

We could but since strings cannot be designed *reasonable* in existing Ada,
better leave it as is without introducing more mess than it is already
there.

For strings types hierarchy you need:

1. MD. Since there exist n-ary string operations, e.g. "&".

2. Non-tagged classes, since we don't want statically known strings and
slices having tags.

3. Properly designed indexing operations and abstract array interfaces.
Strings are arrays.

4. Proper MI, since strings must comprise several hierarchies, to reflect
encoding, memory management and other string aspects.

5. Constraint propagation that will remove discriminants and bounds from
statically constrained instances.

6. Parallel types hierarchies to handle convoluted hierarchies of string
types and hierarchies of character types.

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


  reply	other threads:[~2015-05-11 17:49 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-24 21:40 Annoying behavior Laurent
2015-04-25  4:31 ` gautier_niouzes
2015-04-25  6:51   ` Laurent
2015-04-25  4:50 ` Niklas Holsti
2015-04-25  7:15   ` Laurent
2015-04-25  8:10     ` Niklas Holsti
2015-04-25 15:37       ` Laurent
2015-04-25 13:54 ` Stephen Leake
2015-04-25 15:46   ` Laurent
2015-04-25 17:02     ` Simon Wright
2015-04-25 17:41     ` Niklas Holsti
2015-04-25 18:58       ` Laurent
2015-04-25 19:30         ` Georg Bauhaus
2015-04-25 20:13           ` Laurent
2015-04-25 21:46             ` Laurent
2015-04-25 23:16           ` Bob Duff
2015-04-26 10:38     ` Jedi Tek'Unum
2015-04-26 11:52       ` Textedit and txt Laurent
2015-04-26 13:21         ` brbarkstrom
2015-05-06 21:23           ` Randy Brukardt
2015-05-07 21:12             ` Laurent
2015-05-07 21:48               ` Simon Wright
2015-05-07 22:24                 ` Laurent
2015-05-08  5:50                   ` Simon Wright
2015-05-08  7:35                     ` Laurent
2015-05-08 23:35               ` Randy Brukardt
2015-05-09 19:25                 ` Laurent
2015-05-09 21:36                   ` Anh Vo
2015-05-11 17:00                 ` Shark8
2015-05-11 17:49                   ` Dmitry A. Kazakov [this message]
2015-05-09 15:23               ` brbarkstrom
2015-05-12  1:10                 ` Randy Brukardt
2015-05-12 12:44                   ` brbarkstrom
2015-05-12 21:57                     ` Randy Brukardt
2015-05-13 12:07                       ` brbarkstrom
replies disabled

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