Я экспериментирую со scalaz. Я пробовал писать код в аппликативном коде. Я написал такой код:
val max: Option[Int] = (a |@| b) { math.max(_, _) }
Мне не очень понравился этот код. Я хотел бы код, который ближе к стилю Haskell, что-то вроде этого:
val max: Option[Int] = { math.max(_, _) } <$> a <*> b
Это возможно. И почему scalaz не реализовал это таким образом?