Здравствуйте, Wolverrum, Вы писали:
W>Цель: получить макро, генерирующее анонимные методы
W>Требование: сигнатура вида (methodname, params types), пример (f, string, List[object])
W>Задача: написать такое макро
W>Матчасть: "...расширенный курс" еще не читал, но уже часа 3 на игру с каменным цаетком потерял
W>Вопрос: куда копать? Компилер на сигнатуру макро вида (methodname, params signature: array[expr]) сильно ругается; короче, я что-то явно делаю неправильно.
Посмотреть как изготваливается лямбда можно
тут (operators.n, 182-я строка), это макрос
=>.
По поводу params, я давно хочу отрефакторить этот кошмар с разбором аргументов.
Попробуй делать так:
using Nemerle.Compiler.Parsetree;
macro M(methodName, params argTypes : array[PExpr])
{
}