From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: Victor Porton Newsgroups: comp.lang.ada Subject: Re: Functions vs constants Date: Thu, 24 Jul 2014 15:52:50 +0300 Organization: Aioe.org NNTP Server Message-ID: References: NNTP-Posting-Host: rFX7cZOSaeuGGZI2vwQTaQ.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7Bit X-Complaints-To: abuse@aioe.org User-Agent: KNode/4.12.4 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:21181 Date: 2014-07-24T15:52:50+03:00 List-Id: 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. It seems to me, that making constants functions (and so overloadable) would not change meaning of any legal Ada program. Thus, in my opinion, there is no reason to refuse this my proposal to make constants functions (and so overloadable). -- Victor Porton - http://portonvictor.org