Здравствуйте, Gaperton, Вы писали:
G>На данный момент ответ очевиден. Этого нельзя делать ни в коем случае. Причины — в отсутствии стандарта на язык и гарантированной поддержки. Причем, наличие макросов усугубляют проблему отсутствия стандарта.
Это я прекрасно понимаю (поэтому, например, до сих пор не использую D, т.к. пока нет стабильной версии 1.0 и язык претерпевает постоянные изменения). Я имел в виду момент, когда Nemerle стабилизируется (если он наступит, момент этот).
И в связи с этим меня интересует еще вот какой момент: продвинутые макросы должны оперировать AST и классами, через которые компилятор выставляет наружу свои внутренности (тот же AST). Это значит, что код макросов тесно связан с нутром компилятора. Если Nemerle будет стабилизирован, то это означает, что данные классы должны быть зафиксированы и следующие версии языка должны будут оставлять эти классы неизменными (может быть расширяя их). Но с другой стороны, если для будущих версий языка потребуется их модифицировать (например, поменять состав AST), то крайним окажется пользовательский код (макросы).
Что еще раз потвердает твою мысль, что язык не должен заставлять программистов полагаться на макросистему.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.