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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,34d47d048b177d0b X-Google-Attributes: gid103376,public From: Geert Bosch Subject: Re: limited/non-limited in Ada95 Date: 1997/10/24 Message-ID: <62plj2$aj8$1@gonzo.sun3.iaf.nl>#1/1 X-Deja-AN: 285375706 Distribution: world References: <3442C2A3.3781@bix.com> <62n5c3$m8n@mulga.cs.mu.OZ.AU> Organization: La Calandre Infortunee Newsgroups: comp.lang.ada Date: 1997-10-24T00:00:00+00:00 List-Id: Jon S Anthony wrote: It largely is a matter of _opinion_. Wrapping non structured information _just to solve a mechanism problem_ in a structure is IMO a misleading and inappropriate use of that sort of abstraction and the supporting construct. It's a _hack_ as it has _nothing_ to do with what you are trying to represent. Period. You can also include a component of a volatile type to the structure you want to pass by reference. This way you avoid an extra layer of wrapping. The extra component could be declared as type Volatile_Type is null record; pragma Volatile (Volatile_Type); type My_Ref_Passed_Type is record Force_By_Reference : Volatile_Type; ... end record; I really do not understand how you can find this to be an ugly hack to force by-reference semantics that limits the possibilities of implementing a garbage collector. Regards, Geert