From: dewar@merv.cs.nyu.edu (Robert Dewar)
Subject: Re: Equality operator overloading in ADA 83
Date: 1997/05/05
Date: 1997-05-05T00:00:00+00:00 [thread overview]
Message-ID: <dewar.862878406@merv> (raw)
In-Reply-To: 336DC615.285E@elca-matrix.ch
Mats says
<<In
case f(g(x)) is
when a => ...
when b => ...
end case;
you see immediately, without having to read the whole statement, that a
decision is being made that depends only on the value of f(g(x)).
Moreover, if f(g(x)) is a long expression, you only have to write it
once. if ... elsif does not have these two advantages.>>
I can perfectly well live with
declare
fgx : constant integer := f (g (x));
begin
if fgx = a then ...
elsif fgx = b then ...
end if;
end;
Yup, it's a little bit longer, but it just does not seem worthwhile
confusing the case semantics and adding considerable complexity to
the language and its description just to save a few tokens in this
case.
Actually this example is a big bogus, since it is really implying that
the only possible values are a or b, so if the above case is what you
mean, and if you really mean to cover all cases, then the above code
is equivalent to
if f(g(x)) = a then
...
else -- = b
...
end if;
which is actually shorter (8 tokens instead of 11)
I don't like introducing extra complexity in languages just for the sake
of a bit of syntactical sugar ...
A similar example arose during the 9X discussions, where
raise x when ...
was proposed.
\x1adp
next prev parent reply other threads:[~1997-05-05 0:00 UTC|newest]
Thread overview: 114+ messages / expand[flat|nested] mbox.gz Atom feed top
1997-04-21 0:00 Equality operator overloading in ADA 83 Manuel Wenger
1997-04-22 0:00 ` Matthew Heaney
1997-04-22 0:00 ` Philip Brashear
1997-04-22 0:00 ` Mats Weber
1997-04-22 0:00 ` Matthew Heaney
1997-04-23 0:00 ` Mats Weber
1997-04-23 0:00 ` Robert A Duff
1997-04-25 0:00 ` Kevin Cline
1997-04-25 0:00 ` Robert A Duff
1997-04-25 0:00 ` Matthew Heaney
1997-04-25 0:00 ` Robert A Duff
1997-04-25 0:00 ` Jon S Anthony
1997-04-27 0:00 ` Robert Dewar
1997-04-28 0:00 ` Robert I. Eachus
1997-04-29 0:00 ` Jon S Anthony
1997-04-26 0:00 ` Robert Dewar
1997-04-27 0:00 ` Matthew Heaney
1997-04-27 0:00 ` Robert A Duff
1997-04-26 0:00 ` Robert Dewar
1997-04-26 0:00 ` Matthew Heaney
1997-04-22 0:00 ` Robert A Duff
1997-04-22 0:00 ` Matthew Heaney
1997-04-23 0:00 ` Mats Weber
1997-04-23 0:00 ` Robert A Duff
1997-04-24 0:00 ` Mats Weber
1997-04-24 0:00 ` Matthew Heaney
1997-04-25 0:00 ` Robert Dewar
1997-04-25 0:00 ` Matthew Heaney
1997-04-26 0:00 ` Robert Dewar
1997-04-26 0:00 ` Robert A Duff
1997-04-25 0:00 ` Robert Dewar
1997-04-25 0:00 ` Matthew Heaney
1997-04-26 0:00 ` Robert Dewar
1997-04-26 0:00 ` Fergus Henderson
1997-04-26 0:00 ` Robert A Duff
1997-04-26 0:00 ` Robert Dewar
1997-04-27 0:00 ` Robert Dewar
1997-04-24 0:00 ` Robert A Duff
1997-04-24 0:00 ` Robert Dewar
1997-04-25 0:00 ` Robert A Duff
1997-04-26 0:00 ` Nick Roberts
1997-04-26 0:00 ` Robert A Duff
1997-04-26 0:00 ` Robert Dewar
1997-04-27 0:00 ` Robert A Duff
1997-04-26 0:00 ` Robert Dewar
1997-04-28 0:00 ` Simon Wright
1997-04-29 0:00 ` Robert I. Eachus
1997-04-26 0:00 ` Robert Dewar
1997-04-26 0:00 ` Matthew Heaney
1997-05-02 0:00 ` Nick Roberts
1997-05-04 0:00 ` Robert Dewar
1997-05-05 0:00 ` Mats Weber
1997-05-05 0:00 ` Robert Dewar [this message]
1997-05-06 0:00 ` Matthew Heaney
1997-05-06 0:00 ` Robert Dewar
1997-05-07 0:00 ` Tucker Taft
1997-05-05 0:00 ` Robert A Duff
1997-04-29 0:00 ` Mats Weber
1997-05-01 0:00 ` Robert Dewar
[not found] ` <01bc571c$01f3ffc0$5de2b8cd@p5120.bda>
1997-05-03 0:00 ` Robert Dewar
1997-04-27 0:00 ` Robert Dewar
1997-04-27 0:00 ` Fergus Henderson
1997-04-27 0:00 ` Robert Dewar
1997-04-28 0:00 ` Fergus Henderson
1997-04-28 0:00 ` Robert Dewar
1997-04-25 0:00 ` Kevin Cline
1997-04-25 0:00 ` Robert A Duff
1997-04-25 0:00 ` Mats Weber
1997-04-25 0:00 ` Robert Dewar
1997-04-29 0:00 ` Mats Weber
1997-05-01 0:00 ` Robert Dewar
1997-04-25 0:00 ` Mats Weber
1997-04-27 0:00 ` Robert Dewar
1997-04-29 0:00 ` Mats Weber
1997-04-25 0:00 ` Mats Weber
1997-04-27 0:00 ` Geert Bosch
1997-04-28 0:00 ` Robert Dewar
1997-04-29 0:00 ` Mats Weber
1997-04-29 0:00 ` Robert A Duff
1997-04-29 0:00 ` Matthew Heaney
1997-05-02 0:00 ` Tucker Taft
1997-05-02 0:00 ` Robert Dewar
1997-05-02 0:00 ` Robert A Duff
1997-05-03 0:00 ` Robert Dewar
1997-05-01 0:00 ` Robert Dewar
1997-04-29 0:00 ` Matthew Heaney
1997-05-01 0:00 ` Robert Dewar
1997-04-28 0:00 ` Robert Dewar
1997-04-23 0:00 ` Robert Dewar
1997-04-24 0:00 ` Robert A Duff
1997-04-29 0:00 ` Mats Weber
1997-05-01 0:00 ` Robert Dewar
1997-04-24 0:00 ` Robert Dewar
1997-04-22 0:00 ` Mats Weber
1997-04-24 0:00 ` Robert Dewar
1997-04-24 0:00 ` Robert A Duff
1997-04-25 0:00 ` Robert Dewar
1997-04-25 0:00 ` Matthew Heaney
1997-04-26 0:00 ` Robert Dewar
1997-04-26 0:00 ` Robert A Duff
1997-04-26 0:00 ` Robert Dewar
1997-04-26 0:00 ` Matthew Heaney
1997-04-27 0:00 ` Robert A Duff
1997-04-26 0:00 ` Robert Dewar
1997-04-26 0:00 ` Matthew Heaney
1997-04-27 0:00 ` Robert Dewar
1997-04-27 0:00 ` Robert A Duff
1997-04-26 0:00 ` Robert Dewar
1997-05-02 0:00 ` Nick Roberts
1997-05-04 0:00 ` Robert Dewar
1997-04-22 0:00 ` Kevin Cline
1997-04-22 0:00 ` Mark A Biggar
1997-04-24 0:00 ` Keith Thompson
1997-04-22 0:00 ` Mats Weber
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox