comp.lang.ada
 help / color / mirror / Atom feed
From: Victor Porton <porton@narod.ru>
Subject: Re: Functions vs constants
Date: Tue, 22 Jul 2014 00:55:57 +0300
Date: 2014-07-22T00:55:57+03:00	[thread overview]
Message-ID: <lqk299$3r1$3@speranza.aioe.org> (raw)
In-Reply-To: lqk032$9h$1@speranza.aioe.org

Victor Porton wrote:

> Isn't the following a mis-design of Ada?
> 
> Constants in a good programming language should be equivalent to argument-
> less functions which return these constants.
> 
> However, in Ada functions can be overloaded by their return type, while
> constants cannot.
> 
> Mad idea, but I propose it: Make in a future specification of Ada
> constants overloadable (moreover, make constants argument-less functions).
> (However I am not sure how this could affect reliability. But should we
> think about it at all? After all function overloading was not ruled out
> with the same requirements, and ruling this out as possibly unreliable
> would be a half- measure.)
> 
> I wrote this post after a practical problem whether I should use a String
> constant or a function returning String to return the library version
> (related with a C library for which I am writing bindings). There are no
> definite answer to this question. It is in any case of wrong design.

And this would be useful for writing (reliable) programs in practice:

PI: constant Float := ...;
PI: constant Long_Float := ...;

-- 
Victor Porton - http://portonvictor.org


  parent reply	other threads:[~2014-07-21 21:55 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 [this message]
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
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