> On Mar 28, 2016, at 3:54 PM, Dave Abrahams via swift-evolution > <[email protected]> wrote: > > > on Mon Mar 28 2016, Erica Sadun <[email protected]> wrote: > >>> On Mar 28, 2016, at 3:25 PM, Dave Abrahams via swift-evolution >>> <[email protected]> wrote: >>> >>> >>> on Mon Mar 28 2016, Xiaodi Wu >> >>> <[email protected] >>> <mailto:[email protected]>> >>> wrote: >>> >>>> 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[1], but they appeal to my aesthetics) -- E [1] First rule of Lattner: A language change should provide a highly focused tweak to Swift with limited impact and a measurable benefit to developers _______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
