comp.lang.ada
 help / color / mirror / Atom feed
From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: Functions vs constants
Date: Thu, 24 Jul 2014 12:01:43 -0400
Date: 2014-07-24T12:01:43-04:00	[thread overview]
Message-ID: <wccegxa9254.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: lqqvj0$4al$1@speranza.aioe.org

Victor Porton <porton@narod.ru> writes:

> It seems to me, that making constants functions (and so overloadable) would 
> not change meaning of any legal Ada program.

I think you can construct cases that are currently legal that would
become illegal with your proposed change.  How about this:

   procedure Overloaded(X: Integer);
   procedure Overloaded(X: Boolean);

   procedure P is
      X: constant Integer := 1;

      procedure Q is
         X: constant Boolean := True;
      begin
         Overloaded(X);
         ...

The above is legal, and calls the Boolean version of Overloaded.
If the X's overloaded each other, it would be ambiguous, and
therefore illegal.

Now, you might say the above SHOULD be illegal, and I'd agree.
But it's currently legal, and we shouldn't be breaking legal
programs.

> Thus, in my opinion, there is no reason to refuse this my proposal to make 
> constants functions (and so overloadable).

Another reason is implementation difficulty.  I suspect it might be
an earthquake for some implementations, so it might not be worth
the trouble -- not sufficiently broken.

- Bob


  reply	other threads:[~2014-07-24 16:01 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-21 21:18 Functions vs constants Victor Porton
2014-07-21 21:28 ` Victor Porton
2014-07-21 21:49   ` Shark8
2014-07-21 21:52     ` Victor Porton
2014-07-21 21:59       ` Adam Beneschan
2014-07-21 21:35 ` Niklas Holsti
2014-07-21 21:41   ` Victor Porton
2014-07-21 23:23   ` Randy Brukardt
2014-07-22  7:42     ` Dmitry A. Kazakov
2014-07-22 22:07       ` Randy Brukardt
2014-07-23  7:55         ` Dmitry A. Kazakov
2014-07-23 21:44           ` Randy Brukardt
2014-07-23 12:37         ` G.B.
2014-07-23 22:12           ` Randy Brukardt
2014-07-24  7:20             ` Stefan.Lucks
2014-07-25  4:43               ` Randy Brukardt
2014-07-26  2:36                 ` Shark8
2014-07-24  8:27             ` Georg Bauhaus
2014-07-24 10:11               ` Dmitry A. Kazakov
2014-07-24 10:49                 ` G.B.
2014-07-24 12:50                   ` Dmitry A. Kazakov
2014-07-25  4:56               ` Randy Brukardt
2014-07-25  6:45                 ` Georg Bauhaus
2014-07-25 10:46                   ` G.B.
2014-07-25 19:31                   ` Randy Brukardt
2014-07-25 20:02                     ` Dmitry A. Kazakov
2014-07-26  2:45                       ` Shark8
2014-07-26  8:02                         ` Dmitry A. Kazakov
2014-07-26 14:03                           ` Shark8
2014-07-26 14:18                             ` Dmitry A. Kazakov
2014-07-21 21:55 ` Victor Porton
2014-07-22  7:06 ` Maciej Sobczak
2014-07-22  7:50   ` Dmitry A. Kazakov
2014-07-22 22:14     ` Randy Brukardt
2014-07-23 13:21       ` Stephen Leake
2014-07-23 13:27         ` Victor Porton
2014-07-23 15:10         ` Adam Beneschan
2014-07-23 21:57 ` Robert A Duff
2014-07-24 12:25   ` Victor Porton
2014-07-24 15:53     ` Robert A Duff
2014-07-24 15:57       ` Victor Porton
2014-07-24 16:47   ` Pascal Obry
2014-07-24 12:26 ` anon
2014-07-24 12:52 ` Victor Porton
2014-07-24 16:01   ` Robert A Duff [this message]
2014-07-24 16:15     ` Adam Beneschan
2014-07-25  5:05     ` Randy Brukardt
replies disabled

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