[swift-evolution] ed/ing, InPlace, Set/SetAlgebra naming resolution

Erica Sadun erica at ericasadun.com
Thu Feb 11 13:46:45 CST 2016


I'm good with that.

+1

-- E

> On Feb 11, 2016, at 12:43 PM, Jacob Bandes-Storch <jtbandes at gmail.com> wrote:
> 
> Just thinking out loud here:
> 
> "x's intersection with y" makes sense. So "x.intersection(with: y)" makes sense.  That's already in Dave's diff.
> 
> Unfortunately the same doesn't work well for "x's union with y" — should "x.union(with: y)" be a mutating or nonmutating operation? Hard to tell.
> 
> How about we just move to ∪ and ∪= operators and call it a day? :-)
> 
> On Thu, Feb 11, 2016 at 11:36 AM, Erica Sadun <erica at ericasadun.com <mailto:erica at ericasadun.com>> wrote:
> Assuming one would want to avoid the -ed suffix (and also -ing), one might consider:
> 
> * intersectionOf(), orOf(), unionOf() (or "With" over "Of")
> * setIntersection(), setOr(), setUnion(),
> * intersectionResult(), orResult(), unionResult(),
> etc
> 
> -- E
> 
> 
>> On Feb 11, 2016, at 12:28 PM, Jacob Bandes-Storch <jtbandes at gmail.com <mailto:jtbandes at gmail.com>> wrote:
>> 
>> "intersected" sounds okay to me. "unioned" is borderline, and "ored" is not something I'd want in the standard library. Neither is "oring".
>> 
>> On Thu, Feb 11, 2016 at 11:25 AM, Erica Sadun <erica at ericasadun.com <mailto:erica at ericasadun.com>> wrote:
>> I see the -ed versions as short for -edSet, with the Set being implied. Under this reasoning, unioned == unionedSet, intersected == intersectedSet, thus acting as nouns not verbs, and used for non-mutating application.
>> 
>> inPlace is only for mutating application. I mildly prefer the shorter union to unionInPlace, although I could argue both sides. (The latter is clearer but longer, the former is the short verb action that the whole guideline thing is supposed to endorse.)
>> 
>> -- E
>> 
>>> On Feb 11, 2016, at 12:19 PM, Jacob Bandes-Storch <jtbandes at gmail.com <mailto:jtbandes at gmail.com>> wrote:
>>> 
>>> On Thu, Feb 11, 2016 at 11:09 AM, Erica Sadun via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>> Non-Mutating, returning new value: unioned(with), intersected(with), exclusiveOred(with)
>>> 
>>> Reasoning:
>>> 
>>> * I think the -ing endings sound unnatural, stilted, and unmathematical. They make me wince.
>>> 
>>> So do the -ed versions, IMO. That's why -InPlace is such a convenient suffix.
>>> 
>>> Jacob
>> 
>> 
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160211/6817813a/attachment.html>


More information about the swift-evolution mailing list