Здравствуйте, Иванков Дмитрий, Вы писали:
ИД>Здравствуйте, Константин Л., Вы писали:
КЛ>>Допустим есть макрос, который должен принимать int: ИД>Можно поподробнее, это должна быть константа времени компиляции или просто при несовпадении типа с int надо получить ошибку?
с константой все вроде и так понятно, либо явно указываем тип параметра (как в первоначальном моем посте), либо матчим с PExpr.Literal.
Надо "при несовпадении типа с int надо получить ошибку?". Причем compile-time.
КЛ>>Ведь инфа о реальном типе ноды аст (если там просто переменная) должна быть доступна уже на этапе компиляции? ИД>Вообще говоря нет, пока разворачиваются макросы типизация в процессе. ИД>Если действительно жизненно необходимо получить тип, то можно посмотреть в macros/core.n реализацию макроса lock или foreach.
и где взять этот core.n?
пс: вроде как ie задавал подобный вопрос, но ответа не получил