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.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,66253344eaef63db X-Google-Attributes: gid109fba,public X-Google-Thread: 103376,66253344eaef63db X-Google-Attributes: gid103376,public X-Google-Thread: 1108a1,66253344eaef63db X-Google-Attributes: gid1108a1,public X-Google-ArrivalTime: 1994-10-02 01:02:48 PST Newsgroups: comp.lang.ada,comp.object,comp.lang.c++ Path: bga.com!news.sprintlink.net!howland.reston.ans.net!swrinde!ihnp4.ucsd.edu!munnari.oz.au!news.uwa.edu.au!DIALix!sydney!andrewl From: andrewl@sydney.DIALix.oz.au (Andrew Lees) Subject: Re: Mut. Recurs. in Ada9X w/o Breaking Encaps.? (LONG) Organization: DIALix Services, Sydney, New South Wales, Australia Date: Sun, 02 Oct 94 03:31:56 GMT Message-ID: <1994Oct02.033156.7756@sydney.DIALix.oz.au> Followup-To: comp.lang.ada,comp.object,comp.lang.c++ X-Newsreader: TIN [version 1.1 PL9] References: <1994Sep30.221301.6662@swlvx2.msd.ray.com> Xref: bga.com comp.lang.ada:6371 comp.object:6981 comp.lang.c++:31352 Date: 1994-10-02T03:31:56+00:00 List-Id: This discussion has led me to wonder if the source of the problem is a clash between the desire to have "one package = one type" and the essential structure of the problem being discussed. This may appear a little meta-physical, but I wonder if the relationship between employee and office is not _core_ to the definition of employee, and similarly for office (at least in the context of this problem ). If this is the case, then having the definitions of office and employee separate is itself part of the problem - at an essential level they are not separate. A possible solution recognising the intertwined nature of the two types may be to have the office and employee identifiers (= access types) defined in a single package as private types with their structure left to the body. This common package has nothing else, or may have common employee-office operations. The separate employee and office operations are then defined in child packages, which can re-export the associated indentifier type for those clients who are interested solely in "employee" or "office" things, and do not wish to concern themslves about the combined aspects. I'm not sure if this is directly related to what was intended, but there are certainly cases where this type of solution is required. Andy Lees.