[swift-evolution] [Draft][Proposal] Formalized Ordering
Matthew Johnson
matthew at anandabits.com
Fri Jul 22 17:55:40 CDT 2016
> On Jul 22, 2016, at 5:50 PM, Stephen Canon <scanon at apple.com> wrote:
>
>> On Jul 22, 2016, at 6:34 PM, Matthew Johnson via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>
>> Sorry if it wasn’t clear. I’m not suggesting taking that away. I’m asking whether we have considered defining `==` on floating point types to be the equivalence relation that is proposed for `areSame` and giving the domain specific operation a different name.
>>
>> Maybe this would break with convention too much, but it would feel much more intuitive (to me at least - although I am admittedly not a numerics expert).
>
> IEEE754 doesn’t specify language bindings, so it *is* allowed to e.g. provide an `isEqualIEEE754` predicate and make `==` do something else.
>
> However, doing so would break with the precedent set by … well, every mainstream programming language of the past 30 years, and make porting existing numeric code an error-prone process for anyone who hadn’t carefully studied this particular aspect of Swift.
Thanks for chiming in Steve. I know it isn’t a decision to be taken lightly for sure and breaking the convention may well not be the right idea. I just wanted to point out that maybe it is possible to consider this without giving up IEEE floating point conformance.
The fact that `==` isn’t always an equivalence relation makes me sad but maybe the industry is too far down that rabbit hole to consider anything else...
>
> – Steve
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160722/eb279a75/attachment.html>
More information about the swift-evolution
mailing list