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,772ae8afc5db35f2 X-Google-Attributes: gid103376,public From: stt@houdini.camb.inmet.com (Tucker Taft) Subject: Re: Single Extension; Polymorphic Arrays Date: 1999/03/08 Message-ID: #1/1 X-Deja-AN: 452576259 Sender: news@inmet.camb.inmet.com (USENET news) X-Nntp-Posting-Host: houdini.burl.averstar.com References: Organization: Intermetrics, Inc. Newsgroups: comp.lang.ada Date: 1999-03-08T00:00:00+00:00 List-Id: Matthew Heaney (matthew_heaney@acm.org) wrote: : You don't need singleton tasks, or protected objects, or arrays, because : you can use existing mechanism to do the job (ie declare a type, and : then declare one instance of the type). That's not quite true in the case of tasks and protected types. Sometimes the singleton nature is critical to proper functioning. For example, it is reasonable to use a singleton task or protected object to manage all access to an external device or other resource (e.g. a network). If this were exported as a task or protected *type* then there would be no protection against simultaneous access. In fact, during the 9X design process we argued about whether allowing singleton protected objects was an important feature, and the rationale given above won the day. On the other hand, "singleton" arrays are truly just a short-hand, and I would agree that they add some complexity, primarily because they are a special case. -- -Tucker Taft stt@averstar.com http://www.averstar.com/~stt/ Technical Director, Distributed IT Solutions (www.averstar.com/tools) AverStar (formerly Intermetrics, Inc.) Burlington, MA USA