> On Jun 30, 2016, at 8:12 PM, Dave Abrahams <[email protected]> wrote: > > > on Thu Jun 30 2016, Matthew Johnson <matthew-AT-anandabits.com > <http://matthew-at-anandabits.com/>> wrote: > >> Sent from my iPad >> >>> On Jun 30, 2016, at 6:59 PM, Erica Sadun via swift-evolution >>> <[email protected]> wrote: >>> >>> >>>>> On Jun 30, 2016, at 5:47 PM, James Berry <[email protected]> wrote: >>>>> >>>>> >>>>> On Jun 30, 2016, at 4:05 PM, Dave Abrahams via swift-evolution >>>>> <[email protected]> wrote: >>>>> on Thu Jun 30 2016, Erica Sadun <erica-AT-ericasadun.com> wrote: >>>>> >>>>>>> On Jun 30, 2016, at 4:41 PM, Dave Abrahams <[email protected]> wrote: >>>>>>>> I mentioned this in a comment on the gist already, but I'm really not >>>>>>>> digging the "array" in `arraySpacing`. We've already moved from >>>>>>>> top-level >>>>>>>> "stride" to "memory layout spacing," gaining plenty of clarity. I'm >>>>>>>> skeptical that the "array" adds anything more. Moreover, it muddies the >>>>>>>> waters by mentioning a specific type (Array) in a context where you're >>>>>>>> querying the memory layout properties of another type. >>>>>>> >>>>>>> OK, I agree with that. If we have “alignment” rather than >>>>>>> “defaultAlignment,” I suppose we can have plain “spacing.” >>>>>> >>>>>> No way to last-second sell you on interval rather than spacing? >>>>> >>>>> If you can explain why it's better. >>>>> >>>>>> // Returns the least possible interval between distinct instances of >>>>>> /// `T` in memory. The result is always positive. >>>>> >>>>> For me, “interval” doesn't go with “size” and “alignment,” which are all >>>>> about physical distances and locations. There are all kinds of >>>>> “intervals,” e.g. time intervals. >>>> >>>> Hmm. Sounds like stride to me. stride or byteStride? >>>> >>>> James >>> >>> FAQ: "Why aren't you using the obvious phrase `stride` for something that >>> clearly >>> returns the memory stride?" >>> >>> ANSWER: "As stride already has a well-established meaning in the standard >>> library, >>> this proposal changes the name to spacing, providing a simple but correct >>> name that >>> works well enough in its intended use. Measuring memory is sufficiently >>> esoteric >>> that we prefer to reserve `stride` for a more common use case." >> >> Counter: some words have more than one well established meaning when >> used in different contexts. 'spacing' isn't too bad here (much better >> than 'arraySpacing') but sticking to the term of art 'stride' would be >> best IMO. As James mentioned, spacing implies empty space *between* >> items whereas stride matches the meaning of this property *exactly* >> (which is why it is the term of art). >> >> If a programmer can't distinguish between a 'stride' property on >> MemoryLayout and the 'stride' function they probably have no business >> doing anything which requires use of MemoryLayout in the first place. > > I don't believe that “stride” *is* the accepted term of art for this > meaning. I never heard of the idea of types having an intrinsic > “stride” until I arrived on the Swift project. That usage came from > “strideof.” > > If you all swear up and down that you've been talking about “the stride > of a type” for more than 2 years, I won't fight you on this. > Otherwise... well, I still won't fight; I'm being crushed by an > avalanche of bikesheds and I can't muster the energy ;->... but I'll > forever be plagued by doubts about the name.
I was just throwing in my 2 cents and planned to leave it at that. The primary reason I chimed in is because I didn’t find the rationale in the “answer” compelling. This isn’t something I feel like bike shedding any further over either. https://en.wikipedia.org/wiki/Stride_of_an_array Maybe stride isn’t as common as I thought it was (if it was I’m sure you would have heard of it before Swift) but it certainly predates Swift in usage. -Matthew > > -- > Dave
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
