Здравствуйте, Oyster, Вы писали:
O>Я не вижу принципиальных проблем в том, чтобы реализовать эту функциональность на макросах Nemerle (ради пресловутого compile-time) — это сделать будет непросто, но и решение на шаблонах непростое. Естественно, это будут не скалярные параметры generic-ов (так делать просто нельзя), а нечто иное.
Об этом и
Vermicious KnidАвтор: Vermicious Knid
Дата: 27.03.06
говорил.
В общем-то я с вами согласен, смущает меня только то, что в C++ в одном выражении можно будет сочетать operator*() (и другие) для разных типов данных. Например, Physic<A,B,C> еще и на скаляр умножить можно будет -- в самом выражении с использованием операторов это никак не будет явно подчеркиваться. В Nemerle для таких ситуаций, вероятно, еще что-то додумывать придется.
Но поинт здесь был в другом. Хоть на C++ решение и не тривиальное на первый взгляд, но самое сложное в нем -- это додуматься до него. Сама же реализация отнюдь не сложная. Бывают гораздо более сложные навороты (например, проверка чисел на простоту в compile-time). И, возвращаясь к первоначальному замечанию VladD2 о скалярных параметрах шаблонах, вполне себе востребованный и жизнеспособный код.