Синтаксис для частичного применения каррированных функций с обратной ассоциативной инфиксной нотацией

Другими словами, есть ли веская причина, по которой это не должно компилироваться?

def f(xs: List[Int]) = xs.foldLeft(0) _  // OK
def f(xs: List[Int]) = (xs :\ 0) _       // OK
def f(xs: List[Int]) = (0 /: xs) _

<console>:15: error: missing arguments for method /: in trait TraversableOnce;
follow this method with `_' if you want to treat it as a partially applied function

Вот некоторые обходные пути :

def f(xs: List[Int]) = xs./:(0) _
def f(xs: List[Int]): ((Int, Int) => Int) => Int = (0 /: xs)

но мой вопрос в основном о правильном синтаксисе в целом.

5
задан Luigi a.k.a. Rhys 12 October 2011 в 05:39
поделиться