[swift-evolution] Feature proposal: Range operator with step
erica at ericasadun.com
Mon Mar 28 17:35:30 CDT 2016
> On Mar 28, 2016, at 3:54 PM, Dave Abrahams via swift-evolution <swift-evolution at swift.org> wrote:
> on Mon Mar 28 2016, Erica Sadun <swift-evolution at swift.org> wrote:
>>> On Mar 28, 2016, at 3:25 PM, Dave Abrahams via swift-evolution
>>> <swift-evolution at swift.org> wrote:
>>> on Mon Mar 28 2016, Xiaodi Wu
>>> <swift-evolution at swift.org
>>> <mailto:swift-evolution at swift.org>>
>>>> Right, Countable could refine Strideable. I'm no expert on this, but
>>>> some cursory reading suggests that the analogous feature in C++ simply
>>>> requires the type to have operator++ defined. Obviously, that won't
>>>> work for Swift 3.0...
>>> Hmm, instead of defining a new protocol (Countable), what if we just use
>>> “Strideable where Stride : Integer” as a constraint?
>> I like a differentiation between continuous and discrete things
>> although both can have ranges, membership, fences,
>> and a way to stride through them
> Strideable where Stride : Integer expresses just exactly that. Now if I
> could only get the type-checker to cooperate...
I am ridiculously excited about what you're doing there.
Looking forward to beautiful floating point strides if for no
other reason than I can point out how well they work for math
in comparison to traditional for;;loops, so maybe people will
stop burning semicolons on my lawn.
What are you feelings about disjoint and invertible intervals?
(I'll admit they currently fail the Lattner test, but they appeal to
 First rule of Lattner: A language change should provide a highly focused
tweak to Swift with limited impact and a measurable benefit to developers
More information about the swift-evolution