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,b6026bc2dec7a883 X-Google-Attributes: gid103376,public From: Simon Wright Subject: Re: Claw & Re: ANNOUNCEMENT - GNAT 3.13p availability Date: 2000/08/16 Message-ID: #1/1 X-Deja-AN: 659064069 X-NNTP-Posting-Host: pogner.demon.co.uk:158.152.70.98 References: <8n962s$42n$1@nnrp1.deja.com> <8n9mri$ie4$1@nnrp1.deja.com> <20000815225853.281025@192.168.0.2> X-Trace: news.demon.co.uk 966456784 nnrp-08:24322 NO-IDENT pogner.demon.co.uk:158.152.70.98 Organization: At Home Newsgroups: comp.lang.ada X-Complaints-To: abuse@demon.net Date: 2000-08-16T00:00:00+00:00 List-Id: Ed Falis writes: > Ted Dennison writes: > > Thanks, btw. Whenever I think I've made the inter-relationships > > between my types and packages in OpenToken too complex, I can always > > count on a jaunt through Booch to cheer me up. :-) > > Simon Wright wrote: > > Curses, my master plan has been detected! > > Indeed. Whenever I really feel like twisting my brain up, I visit > them, and some of the interesting ways I've seen them put to use ;-) I'm aware of several places where people have used the BCs in projects (ie, I've had bug reports). Perhaps you know more (including what the projects actually _do_!) Do you think people have trouble because of the lack of documentation, or is it just inventiveness? > On a more serious level, I guess it raises some interesting > questions about the price of generality. I don't think I can properly appreciate the point you and Ted are making here? On the whole there is one (public) type per package, so if there was a new Container type Drawer I would expect to generate BC.Containers.Drawers abstract Drawer BC.Containers.Drawers.Bounded concrete Bounded_Drawer BC.Containers.Drawers.Dynamic concrete Dynamic_Drawer BC.Containers.Drawers.Unbounded concrete Unbounded_Drawer and possibly either BC.Containers.Drawers.Bounded.Guarded concrete Guarded_Bounded_Drawer BC.Containers.Drawers.Bounded.Synchronized ... BC.Containers.Drawers.Dynamic.Guarded BC.Containers.Drawers.Dynamic.Synchronized BC.Containers.Drawers.Unbounded.Guarded BC.Containers.Drawers.Unbounded.Synchronized (I'm working on just having new generics BC.Containers.Drawers.Guarded BC.Containers.Drawers.Synchronized to be instantiated with a concrete Drawer form, but the compilers are giving me grief). I do agree that this is untidy, you would have thought some mixin techniques would do the trick, but that wasn't really the brief. If there's a topic worthy of discussion here, maybe we should retitle the thread! -S