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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,54aae3da1cf935cd X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news2.google.com!fu-berlin.de!uni-berlin.de!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Ada Singleton Pattern Date: Wed, 15 Sep 2004 09:33:56 +0200 Message-ID: <91f7q67flszs$.1qe37rlese4ui$.dlg@40tude.net> References: <%Fi1d.245967$OR2.11136154@news3.tin.it> <14p6ezf3vze8j$.j05arkr066wi.dlg@40tude.net> <87llfdgcdf.fsf@deneb.enyo.de> <1sggrr7wk1p1l$.3c2vsu0kl9qo.dlg@40tude.net> <87wtywgadq.fsf@deneb.enyo.de> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: news.uni-berlin.de eGzgMuxMZ7Xmts7LQUR3lAzwpdEXIpo7cKHx9747cgg7hzNTw= User-Agent: 40tude_Dialog/2.0.12.1 Xref: g2news1.google.com comp.lang.ada:3745 Date: 2004-09-15T09:33:56+02:00 List-Id: On Tue, 14 Sep 2004 17:04:17 +0200, Florian Weimer wrote: > * Dmitry A. Kazakov: > >> Only if the scope of the singleton is unknown, and so need to be dynamic. >> But it is not the case for the example given. The scope of the singleton is >> one of the package. The package itself can be nested (not to be at the >> library level). So clients are prevented from accessing it after its >> finalization by the compiler. > > Oh, come on, you should be able to abstract a bit from the concrete > code you gave. 8-) Often, singletons are used to manage external > resources, and some cleanup operation is required. But that is unrelated to the issue of whether the scope is known. If the scope is known, then it is quite easy to ensure that there will be no dangling references to the object. Ada visibility rules ensure that. If it is unknown, then that is not just the singleton issue. It is rather about pointers, smart pointers, handles, garbage collection etc. From the original post it is unclear what is actually needed. So I'd stick to my trivial case for a while. (:-)) -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de