It's not the minimum though. Just go with stride already đ Sent from my illudium Q-36 explosive space modulator
> On Jun 30, 2016, at 10:49 PM, Jacob Bandes-Storch <[email protected]> wrote: > > There seems to be agreement that "stride" is sensical term for the distance > between values in memory, but it seems like what MemoryLayout wants to expose > is the *minimum* possible stride for a particular type. How do folks feel > about "minimumStride"? > >> On Thu, Jun 30, 2016 at 10:46 PM, James Berry via swift-evolution >> <[email protected]> wrote: >> >> > On Jun 30, 2016, at 10:07 PM, Dave Abrahams <[email protected]> wrote: >> > >> > >> > on Thu Jun 30 2016, Matthew Johnson <matthew-AT-anandabits.com> wrote: >> > >> >>> 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. >> > >> > But that's actually a different meaning altogether. Two âarraysâ of >> > type T can have different strides. They're talking about taking a view >> > onto an underlying series of contiguous Ts that (potentially) skips over >> > elements. >> >> Maybe I come from an esoteric part of the universe. While Iâve never heard >> of stride applied to a type, in particular, the concept of stride as I know >> it applies to any item as laid out in memory, and seems to me to apply >> equally well to any âobjectâ in the loosest form of the word. I believe my >> first experience with it, some 30 years ago, dealt with the row stride in a >> frame buffer or bitmap. This meaning is similar to the array reference as >> above. I disagree that theyâre not in that article above talking primarily >> about the same thing that we are: their very first example, under the >> âPaddingâ headline, seems to exactly match our intent. Their additional >> examples are just hacks/extensions of this concept. >> >> If we were talking about waveforms weâd be talking about period. Stride >> indicates the same thing with regard to items in memory: how long a step do >> you need to take to get from the start of one item to the start of the next. >> So we could use âperiodâ, or âintervalâ, or âstepâ, or something. Iâm just >> arguing that the most recognizable word to describe this concept, as applied >> to any sort of item in memory, is stride. But again, maybe thatâs just based >> on my own experience. >> >> Ultimately, Iâm sure itâs not a big deal. I agree with Mathew that people >> using MemoryLayout arenât likely to confuse the two uses within swift. Itâs >> just that if I had to describe the concept weâre describing in MemoryLayout, >> stride would be my first choice, as it seems most apt. Short of that, Iâm >> sure that I could read comments and ultimately figure out that âinterval,â >> or âspacing,â or whatever, really means âstrideâ ;) >> >> James >> >> >> >> _______________________________________________ >> swift-evolution mailing list >> [email protected] >> https://lists.swift.org/mailman/listinfo/swift-evolution >
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
