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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,309015504ed37ff0 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-09-28 07:33:37 PST Path: news1.google.com!sn-xit-02!sn-xit-03!sn-xit-01!sn-xit-08!supernews.com!small1.nntp.aus1.giganews.com!nntp.giganews.com!newshub.sdsu.edu!elnk-nf2-pas!newsfeed.earthlink.net!stamper.news.pas.earthlink.net!stamper.news.atl.earthlink.net!newsread2.news.atl.earthlink.net.POSTED!not-for-mail Sender: mheaney@MHEANEYX200 Newsgroups: comp.lang.ada Subject: Re: Usage of Interfaces with Ada 95 References: <1064595326.831730@master.nyc.kbcfp.com> <4nii41-067.ln1@boavista.snafu.de> From: Matthew Heaney Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 28 Sep 2003 14:33:36 GMT NNTP-Posting-Host: 65.110.133.134 X-Complaints-To: abuse@earthlink.net X-Trace: newsread2.news.atl.earthlink.net 1064759616 65.110.133.134 (Sun, 28 Sep 2003 10:33:36 EDT) NNTP-Posting-Date: Sun, 28 Sep 2003 10:33:36 EDT Organization: EarthLink Inc. -- http://www.EarthLink.net Xref: news1.google.com comp.lang.ada:69 Date: 2003-09-28T14:33:36+00:00 List-Id: Michael Erdmann writes: > This is not the point! The point is, that i like to setup a > repository of concepts, which is specialized when it is used. > For example, the iterator (or enumerator) is a very general > concept which requieres basicaly the following methods > > First - Return the first element > Next - Fetch the next element > HasMoreElement - Check if there is more > > > By introducing a set of concepts i like to standarize the coding. Again, your use of the term "concept" is unfortunate, because that already has a specific meaning, which is that it is something *not* in code. Code may reify a concept, but a concept by itself it not code. If you want to standardize the coding, then do so! But that is completely orthogonal to the idea of a concept. For example, all the containers and iterators in the Charles library reify your iterator concept above. So what's the problem? That library does exactly what you want, which is to iterate over the elements in a container. Charles, the STL, and the Ada predefined I/O packages are all designed using static polymorphism. You seem to want to use dynamic polymorphism. Why? If static polymorophism does the job, what are you complaining about?