[swift-evolution] [Draft][Proposal] Formalized Ordering

Xiaodi Wu xiaodi.wu at gmail.com
Fri Jul 22 18:56:59 CDT 2016


I'm convinced. Let's make areSame === again!

On Fri, Jul 22, 2016 at 18:55 Daniel Duan via swift-evolution <
swift-evolution at swift.org> wrote:

> On Jul 22, 2016, at 3:00 PM, Dave Abrahams via swift-evolution <
> swift-evolution at swift.org> wrote:
>
>
> on Fri Jul 22 2016, Daniel Duan <swift-evolution at swift.org> wrote:
>
> On Jul 22, 2016, at 11:05 AM, Dave Abrahams via swift-evolution
> <swift-evolution at swift.org> wrote:
>
>
> on Thu Jul 21 2016, Duan
>
>
> <swift-evolution at swift.org
> <mailto:swift-evolution at swift.org <swift-evolution at swift.org>>>
> wrote:
>
> Great proposal. I want to second that areSame may mislead user to
> think this is about identity.
>
> I like areEquivalent() but there may be better names.
>
>
> It really *is* about identity as I posted in a previous message.  But
> that doesn't change the fact that areEquivalent might be a better name.
> It's one of the things we considered; it just seemed long for no real
> benefit.
>
>
> If the addresses of the arguments aren’t being used, then we don’t consider
> them part of their *identity*. I can follow this logic. My fear is most
> users
> won’t make this leap on their own and get the same initial impression as I
> did.
> It's entirely possible this fear is unfounded. Some educated bikesheding
> wouldn't hurt here IMO :)
>
>
> Well, it's still a very real question whether we ought to have the
> additional API surface implied by areSame, or wether we should collapse
> it with ===.
>
>
> To spell this out (because I had to think about it for a second): === will
> be derived from
> <=>, but also becomes default implementation for ==, which remains open
> for customization.
>
> I like this idea. If we keep === as a separate thing, now users have 3
> “opportunities” to define
> equality. The must be few, if any, use cases for this.
>
> Would love to see if anyone on the list can give us an example. Otherwise
> we should make
> areSame === again™!
>
>
> Daniel Duan
> Sent from my iPhone
>
> On Jul 21, 2016, at 6:32 PM, Robert Widmann via swift-evolution
> <swift-evolution at swift.org> wrote:
>
>
> On Jul 21, 2016, at 6:19 PM, Xiaodi Wu <xiaodi.wu at gmail.com> wrote:
>
> This is nice. Is `areSame()` being proposed because static `==` is
> the status quo and you're trying to make the point that `==` in the
> future need not guarantee the same semantics?
>
>
> Yep!  Equivalence and equality are strictly very different things.
>
>
> Nit: I think the more common term in stdlib would be
> `areEquivalent()`. Do you think `same` in that context (independent
> of the word "ordering") might erroneously suggest identity?
>
>
> There is room for improvement here.  Keep ‘em coming.
>
>
>
> On Thu, Jul 21, 2016 at 8:11 PM, Robert Widmann via
> swift-evolution
> <swift-evolution at swift.org> wrote:
> Hello Swift Community,
>
> Harlan Haskins, Jaden Geller, and I have been working on a
> proposal to clean up the semantics of ordering relations in the
> standard library.  We have a draft that you can get as a gist.
> Any feedback you might have about this proposal helps - though
> please keeps your comments on Swift-Evolution and not on the gist.
>
> Cheers,
>
> ~Robert Widmann
>
>
>
>
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
>
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
>
> --
> Dave
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> <mailto:swift-evolution at swift.org <swift-evolution at swift.org>>
> https://lists.swift.org/mailman/listinfo/swift-evolution
> <https://lists.swift.org/mailman/listinfo/swift-evolution>
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
>
> --
> Dave
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160722/d5fa8676/attachment.html>


More information about the swift-evolution mailing list