From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on ip-172-31-65-14.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.6 Path: eternal-september.org!reader02.eternal-september.org!aioe.org!CndO09ueOTz9v5APEGJmiw.user.46.165.242.91.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Discriminants or Constructor Function for Limited Types Date: Thu, 5 May 2022 08:56:50 +0200 Organization: Aioe.org NNTP Server Message-ID: References: <0b4ddd38-1f19-44fe-acd9-43a316ec9d29n@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: gioia.aioe.org; logging-data="20395"; posting-host="CndO09ueOTz9v5APEGJmiw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org"; User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0 X-Notice: Filtered by postfilter v. 0.9.2 Content-Language: en-US Xref: reader02.eternal-september.org comp.lang.ada:63813 List-Id: On 2022-05-05 01:49, Randy Brukardt wrote: > Those cases that you worry are "unsafe" seem to me to only occur because of > "hacks and workarounds". There's no good reason to do any of those things > intentionally unless you are using a "hack" to do something dubious in the > first place. Is a task component a hack? Well so long there is no tagged task types aggregation is the only way. Controlled types are hacks, yes, but there is no alternative. You admit that all tagged types (and I would say all types) should be controlled = support user-defined initialization hooks. Dispatching from Initialize is a double hack, but again, if you need it, the alternative, client-side manual initialization is way worse. Exception propagation upon initialization? There is no enforceable exception contracts to fight it. So I say, if hacks occur, then because of the language problems, not only because some lazy programmer does something stupid. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de