From: Simon Wright <simon@pushface.org>
Subject: Re: Expectation of Access Value Equality
Date: 05 Sep 2003 20:35:06 +0100
Date: 2003-09-05T20:35:06+01:00 [thread overview]
Message-ID: <x7vad9j111x.fsf@smaug.pushface.org> (raw)
In-Reply-To: bja3fi$glkjh$1@ID-25716.news.uni-berlin.de
"Nick Roberts" <nickroberts@blueyonder.co.uk> writes:
> I'm asking for the help of Ada programmers of all levels of experience.
>
> Given the following declarations:
>
> type A_String is access constant String;
>
> function "+" (S: String) return A_String is
> begin
> return new String'(S);
> end;
>
> type A_String_Array is array (Positive range <>) of String;
>
> procedure Print (A: in A_String_Array) is
> Sentinel: constant A_String := A(A'Last);
> Current: Positive := A'First;
> begin
> loop
> Put_Line( A(Current).all );
> exit when A(Current) = Sentinel;
> Current := Current + 1;
> end loop;
> end;
That is a pretty bizarre piece of code! (E&OE). I guess there might be
circumstances in which the part at issue was the right thing to do ..
> (a) Would you be surprised by:
>
> Print( (+"foo",+"bar",+"",+"") );
>
> printing three lines?
yes
> (b) Would you be surprised by:
>
> Print( (+"foo",+"bar",+"hum",+"foo") );
>
> printing one line?
yes
> (c) What would you think of an implementation that caused this behaviour?
> (What would you think of an implementation that printed four lines in both
> cases?)
odd, needs study
(ok)
> (d) I'd be grateful for a very brief indication of your level and broad
> area(s) of programming experience, in Ada and other languages.
expert user, not language lawyer
would be surprised by the same behaviours in C
otherwise tend to use scripting languages so question doesn't arise
If an amended ARM said the surprising behaviours were OK I would not
be concerned, plenty of other implementation-defined stuff to avoid in
the language!
next prev parent reply other threads:[~2003-09-05 19:35 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-09-05 13:35 Expectation of Access Value Equality Nick Roberts
2003-09-05 13:02 ` chris
2003-09-05 17:56 ` Nick Roberts
2003-09-05 19:10 ` Robert I. Eachus
2003-09-05 19:32 ` Jeffrey Carter
2003-09-05 19:35 ` Simon Wright [this message]
2003-09-06 0:25 ` Matthew Heaney
2003-09-06 2:41 ` Steve
2003-09-06 22:01 ` Georg Bauhaus
2003-09-08 9:08 ` Preben Randhol
2003-09-08 9:09 ` Andy
2003-09-09 22:31 ` Nick Roberts
2003-09-10 18:39 ` Mário Amado Alves
2003-09-23 10:46 ` Jacob Sparre Andersen
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox