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 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!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Ada Annoyances Date: Fri, 30 Jun 2017 12:30:37 +0200 Organization: Aioe.org NNTP Server Message-ID: References: <1ac5a44b-4423-443a-a7bb-2864d9abe78f@googlegroups.com> <1498048151.20885.28.camel@obry.net> <96174ea5-852d-44e9-8535-7c1eb24d5326@googlegroups.com> <8d3aff06-82df-485f-89e5-a50c326aab05@googlegroups.com> <66aa262e-2ac9-4016-b32d-e9fee14779e1@googlegroups.com> <88e2f18a-0786-4303-a5b8-fe82e8c81dcb@googlegroups.com> <71c4fdcd-4213-4b84-b852-c8674cfaf717@googlegroups.com> <0f43638d-8954-4db2-94a3-b6615754da34@googlegroups.com> <32bd3d2d-16d2-46f4-902f-3b6944f30226@googlegroups.com> NNTP-Posting-Host: vZYCW951TbFitc4GdEwQJg.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 Content-Language: en-US X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:47219 Date: 2017-06-30T12:30:37+02:00 List-Id: On 30/06/2017 12:14, J-P. Rosen wrote: > Le 30/06/2017 à 10:28, Dmitry A. Kazakov a écrit : >> That is not syntax. There is just no such thing in Ada: >> >> 1. For any type T I declare, I must be able to define a constructor. >> This includes T'Class. >> >> 2. For controlled types Initialize is not a constructor because it is >> not always called and because it can be called explicitly out of place. >> >> And I must be able to provide parameters to constructors. > And this is all doable with regular functions. Not even close. Constructing functions do not work for anything beyond simple examples. Even if they worked, they are unsafe, e.g. in private bodies. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de