From: Adam Beneschan <adam@irvine.com>
Subject: Re: Pascal Calling Convention
Date: Tue, 29 Mar 2011 16:25:05 -0700 (PDT)
Date: 2011-03-29T16:25:05-07:00 [thread overview]
Message-ID: <9d1b632e-8185-40b6-b1e3-4781cb8bbe60@b22g2000prb.googlegroups.com> (raw)
In-Reply-To: wcc7hbhu6cc.fsf@shell01.TheWorld.com
On Mar 29, 11:30 am, Robert A Duff <bobd...@shell01.TheWorld.com>
wrote:
> Hyman Rosen <hyro...@mail.com> writes:
> > And it's a good program to keep at hand to serve as a counterexample
> > when programming languages want access to uninitialized data to be
> > undefined behavior. It's more sensible to regard such data as having
> > arbitrary but fixed values, subject to a validity check.
>
> Just because you know of one algorithm that could use that semantics?!
> (OK, I know of one other case. Sort of.)
>
> If I wanted to add this "feature" to Ada, I'd do so via an attribute:
> T'Arbitrary_Value returns an arbitrary value of type T. Then:
>
> My_Array := (1..1_000_000 => Integer'Arbitrary_Value);
>
> can be implemented in zero machine instructions. You really don't want
> to use arbitrary values by accident.
If that feature were added, I'd want the language to specify that the
value of the attribute must be a valid value for the subtype. (Maybe
that's what you meant and didn't say so explicitly?) That would still
be a no-op if every bit pattern would be a valid value, which would be
the case for Integer (or for the first subtype of a "mod 2**32" or
"mod 2**64" type on most machines, which I think would be needed to
make Hyman's example work).
-- Adam
next prev parent reply other threads:[~2011-03-29 23:25 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-23 21:37 Pascal Calling Convention Shark8
2011-03-23 23:25 ` Yannick Duchêne (Hibou57)
2011-03-24 0:24 ` Randy Brukardt
2011-03-24 0:43 ` Yannick Duchêne (Hibou57)
2011-03-24 2:04 ` Shark8
2011-03-25 15:40 ` Yannick Duchêne (Hibou57)
[not found] ` <F8mdnYCca6tRJBfQnZ2dnUVZ_s-dnZ2d@earthlink.com>
2011-03-24 19:20 ` Keith Thompson
2011-03-25 16:04 ` Robert A Duff
2011-03-25 17:02 ` Hyman Rosen
2011-03-25 17:09 ` Robert A Duff
2011-03-25 17:35 ` Hyman Rosen
2011-03-26 19:51 ` Robert A Duff
2011-03-25 17:51 ` Keith Thompson
2011-03-26 20:46 ` Robert A Duff
2011-03-27 2:24 ` Randy Brukardt
2011-03-28 15:41 ` Adam Beneschan
2011-03-28 19:52 ` Robert A Duff
2011-03-29 2:32 ` Randy Brukardt
2011-03-29 6:06 ` Shark8
2011-03-29 23:45 ` Randy Brukardt
2011-03-29 19:19 ` Robert A Duff
2011-03-30 0:02 ` Randy Brukardt
2011-03-30 12:40 ` Robert A Duff
2011-03-30 19:40 ` Randy Brukardt
2011-03-30 20:56 ` tmoran
2011-03-30 22:34 ` Robert A Duff
2011-03-31 21:00 ` Randy Brukardt
2011-03-28 20:29 ` Hyman Rosen
2011-03-28 21:16 ` Adam Beneschan
2011-03-28 21:26 ` Hyman Rosen
2011-03-28 22:08 ` Adam Beneschan
2011-03-28 23:47 ` Georg Bauhaus
2011-03-29 12:23 ` stefan-lucks
2011-03-29 13:10 ` Hyman Rosen
2011-03-30 13:42 ` Phil Clayton
2011-03-31 7:40 ` Phil Clayton
2011-03-29 2:48 ` Hyman Rosen
2011-03-29 18:30 ` Robert A Duff
2011-03-29 23:25 ` Adam Beneschan [this message]
2011-03-30 12:50 ` Robert A Duff
2011-03-30 14:47 ` Adam Beneschan
2011-03-30 18:10 ` Robert A Duff
2011-03-29 3:01 ` Hyman Rosen
2011-03-29 18:22 ` Robert A Duff
2011-03-26 21:30 ` Florian Weimer
2011-03-27 16:18 ` Robert A Duff
2011-03-27 16:38 ` Florian Weimer
2011-03-27 16:56 ` Robert A Duff
2011-03-24 2:15 ` Shark8
2011-03-24 0:38 ` ytomino
2011-03-24 2:23 ` Shark8
2011-03-24 21:29 ` Gautier write-only
2011-03-25 12:47 ` Marco
2011-03-25 15:38 ` Yannick Duchêne (Hibou57)
2011-03-26 8:39 ` ObjectAda [was: Pascal Calling Convention] Gautier write-only
2011-03-26 14:05 ` Marco
2011-03-26 21:58 ` Gautier write-only
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox