Макросы Scala: в чем разница между типизированными (то есть проверенными типами) нетипизированными деревьями
Я начинаю с макросов scala, они классные, но я сталкиваюсь с разницей между типизированным (то есть проверенным типом) и нетипизированнымTree
s.
Например, вы не можете позвонитьc.eval
с проверенным типом дерева по какой-то причине. Я не могу найти документацию по «проверке типов» в документации по макросам scala (я знаю, что они все еще работают над этим, возможно, это нужно добавить когда-нибудь).
Что это значит дляTree
быть проверенным? Почему они такие разные, что, очевидно, c.eval не может справиться с проверкой типовTree
s (обратное будет иметь больше смысла для меня).
Я предполагаю, что это, вероятно, компилятор 101, но я не взял этот курс :( Любое объяснение или указатель на статьи / документацию будут оценены!