comp.lang.ada
 help / color / mirror / Atom feed
From: Ray Blaak <blaak@infomatch.com>
Subject: Re: Ragged Array Proposal
Date: 1999/09/22
Date: 1999-09-22T00:00:00+00:00	[thread overview]
Message-ID: <m3vh922o3u.fsf@vault80.infomatch.bc.ca> (raw)
In-Reply-To: 7satei$e2q$1@nnrp1.deja.com

Ted Dennison <dennison@telepath.com> writes:
> Also for your example you say "the various ways of doing the equivalent
> thing in Ada 95 are all unappealing." I but I can do the equivalent
> thing in Ada 95 in only 2 more lines of code:
> 
>    type Command_String_Ptr is access all String;
>    for Command_String_Ptr'Storage_Size use 1024;
> 
>    type Command is (Cut, Copy, Paste, ...);
> 
>    Labels: constant array (Command) of Command_String_Ptr :=
>       (Cut      => new String'("Cu&t"),
>        Copy     => new String'("&Copy"),
> 
>        Paste    => new String'("&Paste"),
>        ...);

The problem with this approach is that the data is duplicated. It is both in
the static data area of the program (i.e. the string constants), and in the
heap.

In Ada95, to avoid duplicating the data, the approach is tedious (i.e. having
an aliased constant for each string, and assigning their 'Access values into
the array).

-- 
Cheers,                                        The Rhythm is around me,
                                               The Rhythm has control.
Ray Blaak                                      The Rhythm is inside me,
blaak@infomatch.com                            The Rhythm has my soul.




  reply	other threads:[~1999-09-22  0:00 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <37e7c08e@eeyore.callnetuk.com>
1999-09-22  0:00 ` Ragged Array Proposal Ted Dennison
1999-09-22  0:00   ` Ray Blaak [this message]
1999-09-23  0:00     ` Ted Dennison
1999-09-23  0:00     ` Tucker Taft
1999-09-23  0:00       ` Nick Roberts
1999-09-23  0:00         ` Hyman Rosen
1999-09-24  0:00           ` Nick Roberts
1999-09-24  0:00             ` Hyman Rosen
1999-09-25  0:00               ` Robert Dewar
1999-09-27  0:00                 ` Hyman Rosen
1999-09-27  0:00                   ` Brian Rogoff
1999-09-28  0:00                   ` Robert Dewar
1999-09-24  0:00         ` Ted Dennison
1999-09-24  0:00           ` Nick Roberts
1999-09-24  0:00         ` Robert Dewar
1999-09-24  0:00           ` Wes Groleau
1999-09-25  0:00             ` Robert Dewar
1999-09-25  0:00             ` Robert Dewar
1999-09-24  0:00       ` Robert Dewar
1999-09-24  0:00     ` Robert Dewar
1999-09-23  0:00 ` Robert I. Eachus
1999-09-24  0:00   ` Nick Roberts
1999-09-25  0:00     ` Robert Dewar
1999-09-25  0:00     ` Robert Dewar
1999-09-25  0:00     ` Robert Dewar
1999-09-27  0:00     ` Ted Dennison
1999-09-27  0:00       ` Pascal Obry
1999-09-28  0:00         ` Ted Dennison
1999-09-28  0:00           ` Robert Dewar
1999-09-29  0:00             ` Geoff Bull
1999-09-28  0:00       ` Robert Dewar
replies disabled

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