I'd really like to read a reply to Lucio's argument about operator overloading.
 
Once we define that:
1. a<b is syntactic sugar for a.Less(b) (with a and b being of the same type);
2. a==b is the same as a.Equals(b);
3. the other comparaison operators are defined using these two (e.g.: a>b is 
!a.Less(b) && !a.Equals(b));
4. a.Index(b) is the same as a[b] and a.Index2(b, c) is the same as a[b:c];
5. maybe some more?
Would we really need contracts and the added complexity in this case? 
Shouldn't slightly extended interfaces suffice?

E.g.:

type comparer(type T) interface {
    Less(other T)
}

func min(type T comparer)(a, b T) {
    if a < b {
        return a;
    }
    return b;
}

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to