[swift-evolution] ed/ing, InPlace, Set/SetAlgebra naming resolution
Dave Abrahams
dabrahams at apple.com
Tue Feb 16 13:16:24 CST 2016
on Tue Feb 16 2016, Xiaodi Wu <swift-evolution at swift.org> wrote:
> Not that I like it, but
> insertNonIntersectingRemoveIntersectingContentsOf(_:) would be the
> stylistically consistent way to convey the right sense.
Did you see Ricardo Parada's suggestions? I thought some of those were
better.
> On Tue, Feb 16, 2016 at 10:22 AM Dave Abrahams via swift-evolution <
> swift-evolution at swift.org> wrote:
>
>>
>> on Mon Feb 15 2016, Brent Royal-Gordon <swift-evolution at swift.org> wrote:
>>
>> > I think you've ended up with the right approach, and I understand the
>> need to move on, but...
>> >
>> >> /// Returns the set of elements contained in `self` or in `other`,
>> but not in both `self` and `other`.
>> >> /// EXISTING: exclusiveOr
>> >> @warn_unused_result
>> >> func invertingIntersection(other: Self) -> Self
>> >>
>> >> /// Replaces `self` with a set containing all elements contained in
>> either `self` or `other`, but not both.
>> >> /// EXISTING: exclusiveOrInPlace
>> >> mutating func invertIntersection(other: Self)
>> >
>> > I'm not quite happy with these. I don't like that the mutating form of
>> > `intersection` is `intersect`, but the mutating form of
>> > `invertingIntersection` is `invertIntersection`—it seems like both
>> > methods should change the "intersection" part.
>> >
>> > Have you considered going the opposite direction and combining the verb
>> "intersect" with the adjective "inverse"?
>> >
>> > /// Returns the set of elements contained in `self` or in `other`,
>> but not in both `self` and `other`.
>> > /// EXISTING: exclusiveOr
>> > @warn_unused_result
>> > func inverseIntersection(other: Self) -> Self
>> >
>> > /// Replaces `self` with a set containing all elements contained in
>> either `self` or `other`, but not both.
>> > /// EXISTING: exclusiveOrInPlace
>> > mutating func inverseIntersect(other: Self)
>> > // or perhaps even `inverselyIntersect` so it's an adverb
>> >
>> > I wouldn't be surprised if you did, because I could see you trying to
>> > dodge the adverb problem, but I thought it was worth asking.
>>
>> These names all have the wrong sense, including the ones that were
>> decided upon. “Inverting the intersection” doesn't imply that elements
>> not in the intersection will be merged, which is what happens in a
>> symmetric difference.
>>
>> --
>> -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
--
-Dave
More information about the swift-evolution
mailing list