I agree with karl. there is nothing really mathematical with min/max

e.g. find the longest sequence of characters in a string or the smallest array 
or the minimal x coordinate of view objects…
min/max/clamp are needed everywhere.

LG
Dominik

Web: https://pich.info
Twitter: @DaijDjan
Facebook: Dominik.Pich

> On Aug 31, 2016, at 3:53 PM, Xiaodi Wu via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 
> Comparable makes semantic guarantees about how values of conforming types 
> might be ordered. You don't need `min` or `max` for that to be useful, since 
> it's trivial to implement using comparison operators.
> 
> Basic numeric types require compiler magic and thus belong in the standard 
> library. Likewise, dictionaries have special syntactic sugar and have uses 
> for types that can guarantee comparable semantics. A decimal type, though, 
> can be implemented outside the standard library and probably would belong in 
> a math library. Likewise mathematical constants such as e. I think min and 
> max fall into the latter category.
> 
> On Wed, Aug 31, 2016 at 8:10 AM Karl <razie...@gmail.com 
> <mailto:razie...@gmail.com>> wrote:
> 
> > On 30 Aug 2016, at 10:18, Xiaodi Wu via swift-evolution 
> > <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> wrote:
> >
> > As an additive proposal, I don't think this would be in scope for the 
> > current phase of Swift 4.
> >
> > Looking forward, though, I'm not sure this belongs in the standard library. 
> > In general, my understanding is that Swift's standard library is 
> > deliberately small, and that the criteria for additions are that it's 
> > widely used *and* also non-trivial for the user to write correctly. I've 
> > had to use clamping, obviously, but it's a trivial one-liner that is hard 
> > to write incorrectly. If anything, I'd be in favor of removing max and min 
> > into a future math library outside the standard library.
> 
> min & max (and clamping) are hardly “math” operations. They operate on 
> Comparables, so you can apply them to more abstract things than just numbers.
> 
> Otherwise, you might as well put Comparable and all standard numeric types 
> like Int and Float in a math library, too.
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to