NemerleSetup-1.0.0.9253.msi
Создал функцию для фильтрации списов по многим фильтрам:
PatchFilter[T](a:list[T], f:list[T->bool]):list[T]
{
NList.FoldLeft(f, a, (x, y)=>NList.Filter(y, x))
}
Далее:
PatchFilter
( [1, 2, 3, 4, 5, 6],
[_=>true]//типа список фильтров
); //OK
PatchFilter
( [(1, 2), (3, 4), (5, 6)],
[_=>true]
); //An unhandled exception of type 'Nemerle.Core.MatchFailureException' occurred in Nemerle.dll
Эксепшн возникает в функйии FoldLeft.
Если заменить вызов функции PatchFilter для кортежей на эквивалентное выражение, то все ок:
NList.FoldLeft
( [_=>true],
[(1, 2), (3, 4), (5, 6)],
(x, y)=>NList.Filter(y, x)
);
Еще один недостаток:
def g=[1, 2, 3, 4, 5];
Среда подсвечивает тип g как list[int].Cons
P.S.: сразу не сделал багрепорт, чтобы удостовериться что это действительно ошибки и что такие проблемы еще неизвестны.