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=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,ca21162c929cc36f X-Google-Attributes: gid103376,public From: David Shochat Subject: Re: Implementing pointers to pointers in Ada Date: 1996/09/10 Message-ID: <3235E2C3.636F@itg-sepg.logicon.com>#1/1 X-Deja-AN: 179790882 references: <511sp9$ogs@newsbf02.news.aol.com> content-type: text/plain; charset=us-ascii organization: Logicon Information Technology Group mime-version: 1.0 reply-to: shochat@itg-sepg.logicon.com newsgroups: comp.lang.ada x-mailer: Mozilla 3.0 (Win95; U) Date: 1996-09-10T00:00:00+00:00 List-Id: John Herro wrote: > Of course, it's not obvious WHY you want to use two levels of indirection. It was necessary for 68K Mac programming (I don't know about PPC). The OS had to be able to move heap objects around whenever memory got tight, so the programmer would access most GUI objects through a so-called "handle" which was a pointer to a "master" pointer to the actual data. In Meridian's Ada for the Mac, this was declared just as the examples in this thread show (without the "all" -- it was Ada 83). This scheme was crucial to allow the original Mac to run with only 128K. This scheme is actually much older than the Mac. -- David