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,546b2e2a44f83809 X-Google-Attributes: gid103376,public From: bobduff@world.std.com (Robert A Duff) Subject: Re: Gnat For use at Question Date: 1996/07/11 Message-ID: #1/1 X-Deja-AN: 167874627 references: <4s2eb5$qt6@masala.cc.uh.edu> organization: The World Public Access UNIX, Brookline, MA newsgroups: comp.lang.ada Date: 1996-07-11T00:00:00+00:00 List-Id: In article , Jon S Anthony wrote: >The only goofy thing about this I suppose, is that To_Address (which takes >integers and returns the proper address) is not defined in System (along >with Address) but in the child Storage_Elements. Goodness knows how that >happened... Goodness indeed knows, but then so do I. ;-) There was some pressure from compiler vendors to avoid adding a lot of junk to System, since System was in Ada 83, and was somewhat implementation dependent, and various implementations had their own versions of System. They didn't want their customers disrupted by making changes to System. So, we avoided changing System, except in certain cases where it really seemed worth the trouble. Furthermore, converting integers to addresses is in some sense more dangerous than simply using addresses (perhaps generated by 'Address, for example). Therefore, it makes sense to have a separate child package containing that dirt. We carefully considered whether each operation should be in System, or in a child of System. You might not agree with our decisions, but it wasn't accidental, and I don't think "Goodness" had a lot to do with it. ;-) - Bob