Да; моя ошибка - в нескольких местах просочились unchecked assignments.
Два смешных эпизода: а) кастить Set<Iterable<T>> to Iterable<Set<T>>, и интересный переход: декартово произведение множеств {Pair(x0,y) | y in Y}, {Pair(x1,y) | y in Y}, ... представляется как Set<Iterable<Pair<X,Y>>>>; т.к. этот внутренний Iterable на самом деле Set, то нужно декартово произведение "представить" (отмапить) в виде Set<Iterable<Pair<X,Y>>>, после чего уже отмапить его в форму Set<Map<X,Y>>, чтобы достойно изображать YX.
no subject
Date: 2008-11-23 04:15 pm (UTC)Два смешных эпизода: а) кастить Set<Iterable<T>> to Iterable<Set<T>>, и интересный переход:
декартово произведение множеств {Pair(x0,y) | y in Y}, {Pair(x1,y) | y in Y}, ... представляется как Set<Iterable<Pair<X,Y>>>>; т.к. этот внутренний Iterable на самом деле Set, то нужно декартово произведение "представить" (отмапить) в виде Set<Iterable<Pair<X,Y>>>, после чего уже отмапить его в форму Set<Map<X,Y>>, чтобы достойно изображать YX.