Path: csiph.com!x330-a1.tempe.blueboxinc.net!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!news.iecc.com!nerds-end From: ardjussi Newsgroups: comp.compilers Subject: Re: Looking for volunteers for XL Date: Wed, 30 Nov 2011 13:16:54 -0800 (PST) Organization: Compilers Central Lines: 27 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <11-11-070@comp.compilers> References: <11-11-048@comp.compilers> <11-11-053@comp.compilers> <11-11-054@comp.compilers> <11-11-058@comp.compilers> <11-11-060@comp.compilers> <11-11-067@comp.compilers> NNTP-Posting-Host: news.iecc.com X-Trace: leila.iecc.com 1322708198 25613 64.57.183.58 (1 Dec 2011 02:56:38 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Thu, 1 Dec 2011 02:56:38 +0000 (UTC) Keywords: types, design Posted-Date: 30 Nov 2011 21:56:38 EST X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: x330-a1.tempe.blueboxinc.net comp.compilers:372 On 29 marras, 00:12, Christophe de Dinechin wrote: > > > The other kind of extensibility I know about is operator overloading, > > where the problems are well-known; the expression A+B could > > conceivably mean anything, instead of being restricted to a small set > > of predefined types. > > This argument was made a long time ago byBertrand Meyerin a very > articulate article, see > http://se.ethz.ch/~meyer/publications/joop/overloading.pdf. > > While the article is very well written, I totally disagree with Meyer > on this (even though I respect him a lot as a language designer). Why? > Because I can't even think of using a programming language where I > need to write "1 + 2" for integer addition, and something different > like "1.3 +. 4.2" for floating-point addition. This is not the case with Eiffel. The addition operator for both integer and floating is "+". This is not a case of operator overloading in pure object oriented setting of Eiffel, since the operator appears in two different classes: integer and floating. An example of overloading would be "+" appearing twice with different signatures in the integer class. br Jussi