>>652 >>653
C#って中途半端に関数型だから使いにくいんだよね。例えば列の直積を取りたいとき、

// C# 4.0
IEnumerable<Tuple<A,B>> prod<A,B>(IEnumerable<A> xs, IEnumerable<B> ys) {
return xs.SelectMany(x => ys.Select(y => new Tuple<A,B>(x, y)));
}

// Scala 2.8
def prod[A,B](xs: Seq[A], ys: Seq[B]) =
xs.flatMap(x => ys.map((x,_)))

俺はScalaの方がいいな。