on Sun Jan 29 2017, Brent Royal-Gordon <brent-AT-architechies.com> wrote:
>> On Jan 29, 2017, at 7:02 PM, Dave Abrahams via swift-evolution >> <swift-evolution@swift.org> wrote: >> >>>> var popcount: Int { get } >>> >>> I'm not super-fond of this name; I assume it's a term of art, but it's >>> a pretty obscure one. Maybe `numberOfOnes`? `onesWithin`? >> >> Yes, the rationale is that it's a term of art. I think if you were >> going to call it something else, you'd need to mention "one _bits_" in >> the name. If we can come up with a name that's obviously better, that's >> great, but lacking a clear winner we should go with the already-accepted >> term. > > Okay, but the same could be said for `trailingZeros`. Does that also > need to be something like `trailingZerosInBinaryRepresentation` or > what-have-you? Fair enough. trailingZeroBits would be fine. “InBinaryRepresentation” isn't accurate enough; it would have to be “InTwosComplement,” but I'd rather leave that out of the name and let the documentation clarify that it's all 2's complement, all the way down. >>> It might make a great deal of sense to support bitwise operations on >>> this type, >> >> I think that's a model of SetAlgebra, then, isn't it? > > Hmm, arguably. It's a shame that we won't be able to use it with > things like `OptionSet`, though. Why not? That conforms to SetAlgebra. >> Personally I don't think the strict separation of SetAlgebra and things >> that do bitwise operations makes sense, but I know some people feel >> strongly that it would be confusing for users to expose set operations >> with bitwise operator names. IMO using | for union and & for >> intersection would be beautiful. But that's a story for another day... > > Honestly, if I were designing Swift from scratch, I might consider > having a `BitView` type and `bits` member which acts as a collection > of `Bool`s (or maybe a set of offsets of `1` bits?) and conforms to > `SetAlgebra`; you could then perform bitwise operations through the > `bits`, but not directly on the value itself. But that ship has > clearly sailed. -- -Dave _______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution