As discussed at https://github.com/JuliaLang/julia/pull/25402#issuecomment-355628275 and https://github.com/JuliaLang/julia/issues/20402#issuecomment-354769392, we should find better names for traits defined in traits.jl, since they are the only ones whose names start with Type
. Here's a list with suggestions:
TypeOrder
(possible choices: HasOrder
/Unordered
) -> OrderStyle
(Ordered
/Unordered
), HasOrder
(Ordered
/Unordered
) or IsOrdered
(Ordered
/Unordered
)TypeArithmetic
(ArithmeticRounds
/ArithmeticOverflows
/ArithmeticUnknown
) -> ArithmeticStyle
or ArithmeticAccuracy
(BTW, it would make sense to add ArithmeticExact
and divide overflow into ArithmeticWrapsAround
/ArithmeticSaturates
.)TypeRangeStep
(RangeStepRegular
/RangeStepIrregular
) -> RangeStep
or RangeStepStyle
I like using the Style
suffix consistently:
OrderStyle
: Ordered
, Unordered
and in the future possibly PartiallyOrdered
.ArithmeticStyle
: ArithmeticRounds
, ArithmeticWraps
(I assume that's what ArithmeticOverflows
means), ArithmeticUnknown
, and future possibly ArithmeticSaturates
.RangeStepStyle
: RangeStepRegular
, RangeStepIrregular
.Triage likes the -Style
suffix names. Not all traits need to end in style, but it seems like a good pattern.
Most helpful comment
I like using the
Style
suffix consistently:OrderStyle
:Ordered
,Unordered
and in the future possiblyPartiallyOrdered
.ArithmeticStyle
:ArithmeticRounds
,ArithmeticWraps
(I assume that's whatArithmeticOverflows
means),ArithmeticUnknown
, and future possiblyArithmeticSaturates
.RangeStepStyle
:RangeStepRegular
,RangeStepIrregular
.