home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.object:3035 comp.lang.eiffel:999
- Newsgroups: comp.object,comp.lang.eiffel
- Path: sparky!uunet!walter!geoff
- From: geoff@flash.bellcore.com (Geoffrey Clemm)
- Subject: Re: Class methods (was: Re: How to design a data structure library)
- In-Reply-To: graham@maths.su.oz.au's message of Mon, 27 Jul 1992 23:08:49 GMT
- Message-ID: <GEOFF.92Jul28100015@wodehouse.flash.bellcore.com>
- Sender: news@walter.bellcore.com
- Nntp-Posting-Host: wodehouse
- Organization: Bellcore
- References: <1992Jul23.123609.11699@bony1.bony.com> <5618@vexpert.dbai.tuwien.ac.at>
- <GEOFF.92Jul27100601@wodehouse.flash.bellcore.com>
- <graham.712278529@galois>
- Date: 28 Jul 92 10:00:15
- Lines: 34
-
- In article <graham.712278529@galois> graham@maths.su.oz.au (Graham Matthews) writes:
- (Geoffrey Clemm) writes:
- >I believe you missed the central point of Richie's article, namely that
- >Eiffel 3.0 has a clean way of handling this situation, to quote:
- >In article <1992Jul23.123609.11699@bony1.bony.com> richieb@bony1.bony.com (Richard Bielak) writes:
- >> Given this, the above call to "union" would be written like this
- >> (using Eiffel 3 syntax):
- >> !!c.union (a,b);
- >> Which I think is better.
- >With which I completely agree. This avoids the unpleasant assymetry
- >of c:=a.union(b).
-
- Personally I think this is just awful. I want to write
-
- c := a + b; OR
- c := a union b;
-
- Any other notation is completely non-suggestive.
-
- Yes, generic functions are great, and languages like CLOS let you do
- just this. Unfortunately, the uncontrolled nature of inheritance for
- generic functions can rapidly lead to a maintenance (and control flow)
- nightmare, something which is of great concern to Eiffel users.
-
- The alternative, namely, an artificial assymetry around the first argument,
- is somewhat mitigated in Eiffel through the availability of creation
- instructions, (and would have been even more mitigated with the
- availability of creation expressions, as I have argued elsewhere :-).
-
- Cheers,
-
- Geoff
- --
- geoff@bellcore.com
-