comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Half Constrained Array Types and Slices
Date: Mon, 6 Mar 2006 19:31:16 +0100
Date: 2006-03-06T19:31:07+01:00	[thread overview]
Message-ID: <1nnb2k108agsq$.4f06q7j9rnj3$.dlg@40tude.net> (raw)
In-Reply-To: 1141667416.163432.304280@p10g2000cwp.googlegroups.com

On 6 Mar 2006 09:50:16 -0800, Jeff Carter wrote:

> We seem to be fine as long as we don't do V'Last. I can't figure out
> how such a language should handle 'First and 'Last for such a
> value/object.

Compile error, if the index type isn't ordered (= does not have 'First,
'Last, "<", "=").

Otherwise, Constraint_Error.

BTW, in the second case there is an interesting possibility, I didn't think
much about. If the language had supertyping, then the compiler could create
an anonymous supertype of the index type with one or two more values. These
imaginary values could then be returned as 'First and 'Last. The idea is
same as in IEEE's positive and negative infinities. Of course these values
could have different representation than natural index. Yet the following
will be illegal:

I : Index := A'First; -- This may cause C_E while type conversion

I know no good way to name the type. Even Index'Class would be wrong.

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



  reply	other threads:[~2006-03-06 18:31 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-02  5:00 Half Constrained Array Types and Slices Jeffrey R. Carter
2006-03-02  8:34 ` Dmitry A. Kazakov
2006-03-02 15:34   ` Georg Bauhaus
2006-03-02 19:37     ` Dmitry A. Kazakov
2006-03-02 20:06   ` Jeffrey R. Carter
2006-03-02 20:37     ` Dmitry A. Kazakov
2006-03-02 21:01     ` Robert A Duff
2006-03-02 20:40   ` Robert A Duff
2006-03-02 14:32 ` Larry Kilgallen
2006-03-02 20:08   ` Jeffrey R. Carter
2006-03-02 20:48   ` Robert A Duff
2006-03-06  2:16     ` Larry Kilgallen
2006-03-06 18:50       ` Martin Krischik
2006-03-02 20:38 ` Robert A Duff
2006-03-03  5:15   ` Jeffrey R. Carter
2006-03-03  8:57     ` Dmitry A. Kazakov
2006-03-03 23:41     ` Robert A Duff
2006-03-06 17:50       ` Jeff Carter
2006-03-06 18:31         ` Dmitry A. Kazakov [this message]
2006-03-07 19:02           ` Jeff Carter
2006-03-08 14:29             ` Dmitry A. Kazakov
2006-03-09 22:44               ` Robert A Duff
2006-03-10  8:46                 ` Dmitry A. Kazakov
2006-03-06 19:49         ` Stefan Lucks
2006-03-08 17:36         ` brian.b.mcguinness
2006-03-08 17:56           ` Jeff Carter
2006-03-09 22:36         ` Robert A Duff
2006-03-10  4:28           ` Jeffrey R. Carter
2006-03-10  8:46             ` Dmitry A. Kazakov
2006-03-10 17:33               ` Robert A Duff
2006-03-10 21:24                 ` Dmitry A. Kazakov
2006-03-10 17:38             ` Robert A Duff
2006-03-11  0:19               ` Randy Brukardt
2006-03-11  1:43                 ` Jeffrey R. Carter
2006-03-11  8:38                   ` Niklas Holsti
replies disabled

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