Я использую scala-2.8.1 и scalaz-5.0 . Может кто-нибудь объяснить, почему PartialApply1Of2
может быть выведено в одном случае, но не в другом?
scala> 1.success[String] <|*|> "Bah".fail[Int]
res1: scalaz.Validation[String,(Int, Int)] = Failure(Bah)
Это сработало, хотя (, как было задано ранее !), Метод <|*|>
находится на MA
, который имеет один параметр типа, а не два (как Validation
). Я не могу получить Unicode, работающий в моем IDEA REPL, вот так:
object testy {
def main(args: Array[String]) {
import scalaz._
import Scalaz._
val ps = NonEmptyList(1.success[String], "Bah".fail[Int])
val res = ps.∘∘((_ : Int) % 2 == 0) //DOES NOT COMPILE
println(res)
}
}
Я могу предоставить конкретный тип вызова, и все хорошо. Почему scalac
не может сделать вывод об этом?
ps.∘∘[PartialApply1Of2[Validation, String]#Apply, Int, Boolean]((_ : Int) % 2 == 0)
В моем REPL это фактически вызывает скалярную ошибку, а не разумное сообщение об ошибке