Пытаюсь разобраться с тем как работают, и что умеют макросы в Nemerle.
Хочу определить следующие две операции (насколько я знаю, они в язык не встроены).
1) Операцию конкатенации кортежей. (a,b,c) + (d,e) должно давать (a,b,c,d,e).
2) Операцию композиции функциональных значений, подходящих по сигнатуре. Например (a : int * int -> string) * (b : void -> int * int) должно давать c : void -> string
Желательно обе операции записать в виде двухместных операторов + и *. Могут ли макросы в этом помочь? И почему эти операции в язык не встроены?