Another use case: I've got a BitArray that makes sense to conform to BitwiseOperations, but it definitely isn't a FixedWidthInteger.
On Wed, Jul 6, 2016 at 17:56 Max Moiseev via swift-evolution < [email protected]> wrote: > OptionSets do conform to AlgebraSet but they require raw value type to > conform to BitwiseOperations. > > Max > > > On Jul 6, 2016, at 3:44 PM, Jordan Rose <[email protected]> wrote: > > > > Option sets use set notation, not bitwise notation, no? > > > > Jordan > > > >> On Jul 6, 2016, at 13:28, Max Moiseev via swift-evolution < > [email protected]> wrote: > >> > >> FixedWidthInteger only handles the implementation for the numbers, we > should also consider OptionSet. > >> > >> I think we should keep the protocol in case someone wants to implement > their own type other than an integer to be used as a raw value type in the > OptionSet. > >> > >> As for renaming it, how about BitwiseOperand? > >> > >> protocol BitwiseOperand { > >> func bitwiseOr(_ rhs: Self) -> Self > >> func bitwiseAnd(_ rhs: Self) -> Self > >> // etc ... > >> } > >> > >> Max > >> > >>> On Jul 1, 2016, at 5:19 PM, Dave Abrahams via swift-evolution < > [email protected]> wrote: > >>> > >>> > >>> on Fri Jul 01 2016, Riley Testut <[email protected]> wrote: > >>> > >>>> Hi all, > >>>> > >>>> This is probably very minor, but I’m not sure the protocol name > >>>> “BitwiseOperations” fits the Swift API Design Guidelines. Here’s what > >>>> the guidelines have to say about protocol names: > >>>> > >>>> Protocols that describe what something is should read as nouns (e.g. > Collection). > >>>> > >>>> Protocols that describe a capability should be named using the > >>>> suffixes able, ible, or ing (e.g. Equatable, ProgressReporting). > >>>> > >>>> From these two, BitwiseOperations appears to be (attempting) to follow > >>>> the first rule, yet “BitwiseOperations” doesn’t really describe what > >>>> the type is, but rather that it can do bitwise operations. The > >>>> documentation itself even describes the protocol as “a type that > >>>> supports standard bitwise arithmetic operators." > >>>> > >>>> I propose we rename it to “BitwiseOperable”, or something > >>>> similar. Again, a small change, but if this were to ever happen, I > >>>> think Swift 3 is the time. > >>> > >>> BitwiseOperations should really be retired after > >>> > https://github.com/apple/swift-evolution/blob/master/proposals/0104-improved-integers.md > >>> is implemented, and its uses replaced by FixedWidthInteger. > >>> > >>> -- > >>> Dave > >>> > >>> _______________________________________________ > >>> 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 > > > > _______________________________________________ > 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
