Proposal: min(None, x) and max(None, x) return x

David Brown david at no.westcontrol.spam.com
Fri Nov 22 10:25:42 EST 2002


"Andrew Koenig" <ark at research.att.com> wrote in message
news:yu99bs4hlkp5.fsf at europa.research.att.com...
> Eric> So I told myself: wouldn't it be great if max(None, x) or
> Eric> min(None, x) always simply returned x?
>
> My first thought was that this was an excellent idea.
>
> Then I thought again.
>
> Here's the problem:  The notion that max(None, x) and min(None, x)
> should both return x is one of three desirable properties that cannot
> all be true at once.  Here are the other two:
>
>         1) Whenever x < y, min(x, y) is x and max(x, y) is y.
>
>         2) < is an order relation over all types.
>
> The desirability of (1) should be obvious.  (2) is more subtle, but
> it is necessary for it to be possible to sort a vector of heterogenously
> typed objects.
>
> Now, if max(None, x) and min(None, x) both yield x, and (1) is true,
> then x > None and x < None must both be true.  But then (2) cannot
> be true.
>

"None > x" or "x > None"doesn't really make sense:

Nothing is better than complete happiness.
A cheese sandwich is better than nothing.
Ergo, a cheese sandwich is better than complete happiness.


--
David

"I love deadlines.  I love the whooshing noise they make as they go past."
Douglas Adams





More information about the Python-list mailing list