Wlad писал(а):
Vlad писал(а):
О типе, вводимом описанием перечисления.
Ну, и какой от него смысл при неполной поддержке операций с ним? Например, при отсутствии реакции на «неполный анализ» в switch?...
Давай мухи отдельно. Смысл от типизации есть? Есть. Нет поддержки в swicth? Ну да, хреново.
Wlad писал(а):
Vlad писал(а):
Итерирование по элементам перечисления.
Исчо раз: а какой в этом смысл – если соседние описанные константы перечисления различны больше, чем на единицу???!!!
Смысл такой, что удобно сделать что-то для всех элементов перечисления. Например сравнить с нетипизированным целым.
Wlad писал(а):
И, потом, я как-то не возьму в толк как без специальных функций (встроенных или в виде процедур или методов) приведения к целому типу вы намереваетесь использовать «значения» таких типов в алгебраических операциях?
Ну никто не мешает сделать такие функции. Или сделать неявное приведение (оно вполне безопасно).
Wlad писал(а):
И – кстати – к чему приводить? - чем будет это значение? «позицией в описании»? «аналогичное представление в целом значении»? :о)
Приводить к целочисленному значению, например.
Wlad писал(а):
По-хорошему, перечисление – есть явное полное описание элементов некоего множества. Ни о каком «числовом» выражении их значения, речи, в общем случае, не идёт.
В общем случае да. Но иметь «числовое» выражение очень часто удобно и при этом эффективно.
Wlad писал(а):
А установкой флага treating enum as ints вы добавляете в это описание ненужную «зашумляющую» семантику. А потом с ней боритесь или ловите непонятные баги... :о)
Ты уверен, что хорошо представляешь себе семантику этого флага? Какие баги ты из-за этого ловил?
Wlad писал(а):
Vlad писал(а):
Контроль типов в операциях это хорошо, но это уже следующий уровень. Претензия к тому, чтобы хотя бы не путать яблоки с вишней, и время со скоростью.
Ещё раз задаю вопрос: вам нужна в КП функциональность с полным контролем типов входных аргументов или не хватает переопределения операций для прямой алгебраической записи выражений с пользовательскими типами?
И то и другое. Но учитывая то, что второе без первого невозможно, то первое принципиальнее и необходимее.