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.4 required=5.0 tests=AC_FROM_MANY_DOTS,BAYES_00 autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,842accb6a7d76669 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-11-12 07:53:06 PST Path: archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!isdnet!newsgate.cistron.nl!newsfeeds.belnet.be!news.belnet.be!psinet-eu-nl!psiuk-p4!psiuk-p3!uknet!psiuk-n!news.pace.co.uk!nh.pace.co.uk!not-for-mail From: "Marin David Condic" Newsgroups: comp.lang.ada Subject: Re: List container strawman 1.1 Date: Mon, 12 Nov 2001 10:24:33 -0500 Organization: Posted on a server owned by Pace Micro Technology plc Message-ID: <9sopjj$bar$1@nh.pace.co.uk> References: <3BE301D1.4010106@telepath.com> <3BE7DA00.8020807@acm.org> <9sdojl$e6h$1@news.huji.ac.il> <3BEACA5A.9030100@acm.org> <20TG7.18929$xS6.30469@www.newsranger.com> <9sh49o$ohc$1@nh.pace.co.uk> NNTP-Posting-Host: dhcp-200-133.miami.pace.co.uk X-Trace: nh.pace.co.uk 1005578675 11611 136.170.200.133 (12 Nov 2001 15:24:35 GMT) X-Complaints-To: newsmaster@news.cam.pace.co.uk NNTP-Posting-Date: 12 Nov 2001 15:24:35 GMT X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Xref: archiver1.google.com comp.lang.ada:16328 Date: 2001-11-12T15:24:35+00:00 List-Id: "Simon Wright" wrote in message news:x7v668hrpdz.fsf@smaug.pushface.org... > > It does rather go against the grain of the BCs, IMO, but I could add > this (which does everything bar closed iteration). "Collection" is > what everyone has been calling "List", BTW. Almost all the operations > could in fact be omitted in this package, because they are inherited, > though one would have to "use" it to get at them easily and I suspect > pedagogically one would prefer to see the operations. Just treat it as > implementation inheritance. > It looks like it simplifies things quite a bit. I think that the more it looks like what Ted was proposing, the more likely it is going to be an easy alternative for the beginner and/or simple cases. Having glanced (see below) at the BC instantiation thing, I can see where there is an objection to it concerning simplicity and if this can be totally hidden for a plain-vanilla case beneath some other package spec, I think newbies to it would be helped considerably. My impression from what I can see is that the BC's are a kind of "Theoretically Pure" thing - an academic distilation of all the fundamental behaviors and functionalities needed by a variety of data structures of different shapes. This may provide some additional power and ability to create new abstractions, but the poor bastard who just needs to pile up a few employee records and step through them really doesn't care about the intellectual niceties. He just wants a list he can get to quickly and easily. That's why I'm suggesting an add-on that creates a shield from the abstractions in the BC's while leaving the rest of it there in case someone wants the more complex stuff. > > Has anyone had a chance to look at > http://www.pushface.org/components/bc/case-study.html yet to see if > I'm on anything like the right lines? > I gave it a cursory glance. Yes, I think that is on the right track - pick a simple case and illustrate everything you need to do to get the job done. > > My first reaction was that if anyone can get their heads round Maps > they should be able to do a couple of measly instantiations :-) What do you mean "get their heads round Maps"? If we mean the same thing by "Maps" I don't understand what is so complex? generic type Index_Type is private ; type Item is private ; with function "<" (L, R: in Index_Type) is <> ; package Maps is -- -- Various types/procedures, etc. here that let you insert, delete, retrieve -- and scan over things of type Item based on Index_Type. Your garden -- variety ISAM file in memory... -- end Maps ; MDC -- Marin David Condic Senior Software Engineer Pace Micro Technology Americas www.pacemicro.com Enabling the digital revolution e-Mail: marin.condic@pacemicro.com Web: http://www.mcondic.com/