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,b307bd75c8071241 X-Google-Attributes: gid103376,public From: dewar@merv.cs.nyu.edu (Robert Dewar) Subject: Re: newbie Q: storage management Date: 1997/05/04 Message-ID: #1/1 X-Deja-AN: 239333846 References: <5k5hif$7r5@bcrkh13.bnr.ca> <5kgtf1$js1@bcrkh13.bnr.ca> Organization: New York University Newsgroups: comp.lang.ada Date: 1997-05-04T00:00:00+00:00 List-Id: Kaz says <> Actually the issue is not so much what the language requires (as I explained in a previous post, it is hard to require GC in any formal sense). What is important is what you wll actually find out there. As an example, consider the following. There is nothing in the Ada RM that requires a implementation to support more than one digit of precision for floating-point. This means that, by the same reasoning as Kaz is using above, a maximally portable Ada program should not have a declaration like type x is digits 6; However, in the real world, no one knows any Ada implemnetation where Max_Digits is less than 6, so the above declaration is in practice entirely portable, even though not blessed by the language. On the other hand, you cannot get much of a hint from the RM that the declaration type x (y : integer := 0) is record q : string (1 .. y); end record; is problematic, and indeed it will work on some implementations. But if you know the real world of Ada implemntations, then you will know that the above variant record declaration is not a good idea, and will cause unexpected storage errors on some (most?) Ada 95 implementations.