comp.lang.ada
 help / color / mirror / Atom feed
* Functions vs constants
@ 2014-07-21 21:18 Victor Porton
  2014-07-21 21:28 ` Victor Porton
                   ` (6 more replies)
  0 siblings, 7 replies; 47+ messages in thread
From: Victor Porton @ 2014-07-21 21:18 UTC (permalink / raw)


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.

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


^ permalink raw reply	[flat|nested] 47+ messages in thread

end of thread, other threads:[~2014-07-26 14:18 UTC | newest]

Thread overview: 47+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
2014-07-24 16:15     ` Adam Beneschan
2014-07-25  5:05     ` Randy Brukardt

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