On Nov 4, 9:00 am, "Christian Vest Hansen" <[EMAIL PROTECTED]>
wrote:
> On Tue, Nov 4, 2008 at 1:45 PM, Rich Hickey <[EMAIL PROTECTED]> wrote:
>
> > On Nov 4, 2:56 am, "Christian Vest Hansen" <[EMAIL PROTECTED]>
> > wrote:
> >> On Tue, Nov 4, 2008 at 6:23 AM, Mark H. <[EMAIL PROTECTED]> wrote:
>
> >> > On Nov 3, 6:48 pm, Cosmin Stejerean <[EMAIL PROTECTED]> wrote:
> >> >> I think clearly spelling out how objects of a type should be sorted is
> >> >> the point of the Comparable interface.
>
> >> > Ah, yes, this is true, I hadn't realized that String and Date both
> >> > implement Comparable.  Comparable is supposed to impose a total
> >> > ordering on a set, so in a finite set of objects of the same type, the
> >> > max is always well defined.
>
> >> +1 on (min) and (max) operating on Comparables.
>
> > Hmm...
>
> > Do you want:
>
> > (max 1 2.1 4/5)
>
> > to work?
>
> > If so, you can't base it on Comparable, which generally only supports
> > homogenous types.
>
> "Generally" by custom but not required by contract of the Comparable
> interface. And those are all Numbers, right?
>
> Comparable imposes natural ordering, and the individual implementor is
> free to decide how to handle objects of different types; throwing a
> ClassCastException only being one of the possible reactions.
>

True, except the individual implementors of Integer, Long, Double etc
have already decided to have them compare only to their exact type, so
we're stuck with that fact.

Rich

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to