PRE-PROPOSAL: Simple operator overloading. (original) (raw)

Daniel Cheng j16sdiz at gmail.com
Wed Mar 25 18:08:11 PDT 2009


On Wed, Mar 25, 2009 at 8:03 PM, Vilya Harvey <vilya.harvey at gmail.com> wrote:

I would love to see this, but I'd prefer it to be based on special interfaces rather than annotations. This would adhere to the principle, mentioned on this list a few times, that annotations shouldn't modify the results of the compiler.

For example, if you implement the Addable (say) interface then your class can be used the '+' operator; or the Subtractable interface for

We can't specify the return type if we use an interface.

We may want to do something like this:

    BigInteger + BigInteger     = BigInteger
    BigInteger + BigDecimal   = BigDecimal
    BigDecimal + BigInteger   = BigDecimal
    BigDecimal + BigDecimal = BigDecimal

There is no way to implement this using interface.

the '-' operator. I'd imagine you would also want some grouping interfaces, to reduce the number of interface declarations required when overloading multiple operators (e.g. interface Artihmetic extends Addable, Subtractable etc.).

Whatever form it takes though, it would be great to have this capability in Java! Vil.

2009/3/25  <rssh at gradsoft.com.ua>: Permanent URL: http://docs.google.com/Doc?id=dhhvggr818djp85shk

Probably too big, but anyway. As I remember, alternative proposal (made [] and []= syntax sugar on well-known interfaces, as with for-each loop) still not submitted. If anybody want submit such proposal, then it is possible to reuse JLS-changed for 15.26.1 from there.



More information about the coin-dev mailing list