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-27 19:11:17 PST Path: news1.google.com!newsfeed.stanford.edu!headwall.stanford.edu!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> <1064608631.639035@master.nyc.kbcfp.com> 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 02:11:16 GMT NNTP-Posting-Host: 65.110.133.134 X-Complaints-To: abuse@earthlink.net X-Trace: newsread2.news.atl.earthlink.net 1064715076 65.110.133.134 (Sat, 27 Sep 2003 22:11:16 EDT) NNTP-Posting-Date: Sat, 27 Sep 2003 22:11:16 EDT Organization: EarthLink Inc. -- http://www.EarthLink.net Xref: news1.google.com comp.lang.ada:54 Date: 2003-09-28T02:11:16+00:00 List-Id: Michael Erdmann writes: > Maybe i need drop my original idea completley. The idea was to provide > a set of interfaces which are allowing to develop software based on > concepts (patterns). The Enumeration is such a concept beside of a lot > of other patterns. My hope was/is to simplyfy code by using standard > patterns. What's wrong with generic algoriths? An "enumeration" (an unfortunate term, given that is it already has a very specific meaning in Ada) smells a lot like an "iterator," so I hvae to ask why you don't simply go that way: generic type Iterator_Type is private; with function Succ (Iterator : Iterator_Type) return Iterator_Type is <>; with procedure Process (Iterator : Iterator_Type) is <>; ... procedure Generic_Algorithms (First, Back : Iterator_Type); But perhaps you're trying to do something else? It wasn't clear from your example. As far I can tell the language already does everything you need, so no language change is required.