Eksperymentuję z scalazem. Próbowałem pisać kod w kodzie aplikacyjnym. Napisałem kod w następujący sposób:Więcej składni aplikacji podobnej do haskellowej w skalazmie
val max: Option[Int] = (a |@| b) { math.max(_, _) }
Bardzo mi się nie podobał ten kod. Chciałbym kod, który jest bliżej do stylu Haskell, coś takiego:
val max: Option[Int] = { math.max(_, _) } <$> a <*> b
Czy jest to możliwe. I dlaczego scalaz nie wdrożył go w ten sposób?
Po prostu z ciekawości: Czego nie lubisz? Uważam, że "wersja skalowalna" jest czystsza w moim (moim) oku ... – Jan
W Haskell po prostu napisałeś 'max <$> a <*> b', co ja osobiście bardzo lubię w każdej wersji Scalaz. –
@TravisBrown jak napisalibyście to dla więcej niż dwóch argumentów? "zabawa <$> a <*> b <*> c"? – Jan