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,2f8b28565f329871 X-Google-Attributes: gid103376,public From: fjh@cs.mu.oz.au (Fergus Henderson) Subject: Re: local variables Date: 1998/04/13 Message-ID: <6gtkne$crh$1@mulga.cs.mu.OZ.AU>#1/1 X-Deja-AN: 343872406 References: <352E491F.4C6D@young.epc.lmms.lmco.com> Organization: Computer Science, The University of Melbourne Newsgroups: comp.lang.ada Date: 1998-04-13T00:00:00+00:00 List-Id: dewar@merv.cs.nyu.edu (Robert Dewar) writes: >Instead you can just introduce a nested package: > > package body Abstraction is > procedure Op1(...) is > begin > -- do something interesting > end Op1; > > package body Encapsulate is > > Counter : Integer := 0; -- "static" variable used by Bump_Counter > procedure Bump_Counter(Next : out Integer) is > begin > Counter := Counter + 1; > Next := Counter; > end Bump_Counter; > end Encapsulate; > end Abstraction; > > >The corresponding package spec might have > > package Abstraction is > procedure Op1(...); > > package Encapsulate is > procedure Bump_Counter (Next : out Integer); > end Encapsulate; > > procedure Bump_Counter (Next : out Integer) > renames Encapsulate.Bump_Counter; > > end Abstraction; There's no need to put the package `Encapsulate' in the package spec rather than the package body, is there? I'd write this as package Abstraction is procedure Op1(...); procedure Bump_Counter (Next : out Integer); end Abstraction; package body Abstraction is procedure Bump_Counter (Next : out Integer) renames Encapsulate.Bump_Counter; package Encapsulate is procedure Bump_Counter (Next : out Integer); end Encapsulate; package body Encapsulate is -- as above end Encapsulate; procedure Bump_Counter (Next : out Integer); renames Encapsulate.Bump_Counter; end Abstraction; -- Fergus Henderson | "I have always known that the pursuit WWW: | of excellence is a lethal habit" PGP: finger fjh@128.250.37.3 | -- the last words of T. S. Garp.