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,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 Path: eternal-september.org!reader01.eternal-september.org!aioe.org!wkzB5gFOhLHjvUsb32RKWQ.user.46.165.242.91.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Calling inherited primitive operations in Ada Date: Sat, 3 Sep 2022 10:23:01 +0200 Organization: Aioe.org NNTP Server Message-ID: References: <67b32db0-c4db-466c-ac13-e597e008c762n@googlegroups.com> <401d6f59-2c28-4dd5-9fa6-fccf33b6d645n@googlegroups.com> <12cc33b1-2c39-4057-8a03-623064b06e8en@googlegroups.com> <672e9bc6-1e53-42cb-a339-9230ab949de9n@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="50222"; posting-host="wkzB5gFOhLHjvUsb32RKWQ.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.13.0 Content-Language: en-US X-Notice: Filtered by postfilter v. 0.9.2 Xref: reader01.eternal-september.org comp.lang.ada:64283 List-Id: On 2022-09-03 02:12, Randy Brukardt wrote: > "Dmitry A. Kazakov" wrote in message > news:teso01$16gg$1@gioia.aioe.org... >> On 2022-09-02 12:41, Jeffrey R.Carter wrote: >> >>> The only indefinite data structure that is needed seems to be holders. >> >> The language should support and encourage design that does not rely on >> memory pools. >> >> In my view one of major advantages of Ada is that indefinite objects can >> be handled without resorting to hidden or explicit pointers to pools. > > But they're implemented with some sort of hidden allocation. (GNAT uses a > "secondary stack", whatever that is, but that is just a restricted form of > pool). Janus/Ada uses built-in pools with cleanup for all such things to > simplify the interface (the code for allocations and stand-alone objects is > mostly shared, both within the compiler and at runtime). For a programmer that does not matter. The problem with pools is locking, non-determinism, issues with protected actions. If secondary or primary stack is the program stack, nobody really cares. BTW, merely doing pool tracing/bookkeeping becomes a sheer nightmare if you cannot return a string from a function. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de