Здравствуйте, kov_serg, Вы писали:
_>Вот например функция sqrt ждёт положительные значения, asin значение из диапазона [-1..1].
Здесь нужны не типы с ограничениями, а встроенные проверки в этих функциях — хотя бы в отладочных конфигурациях.
_>Так что вполне можно использовать типы с ограничениями.
_>Более того иногда хочется проверки на переполнения например у целых чисел.
Такое нужно реализовывать не добавлением новых типов, а навешиванием на существующие специальных квалификаторов — это могли бы быть и инвариантные выражения, по типу assert, автоматически вычисляемые при выполнении.
_>Всё же вы видимо хотите ограничивать не компилятор, а программистов которые будут работать с этим кодом.
Разумеется, и себя в первую очередь. Я хочу, чтобы в любой спорной ситуации компилятор мог предупредить и меня, и любого другого. Но гибко управляемой системы контроля синтаксиса/семантики я ни у одного компилятора пока не видел.
_>Вам стоит использовать не C++, он явно преследует иные цели.
И что же мне использовать в ядре Windows, кроме C++, C и ассемблера?