Estoy experimentando con scalaz. Traté de escribir código en código aplicativo. Escribí un código como este:Más sintaxis de aplicación tipo haskell en scalaz
val max: Option[Int] = (a |@| b) { math.max(_, _) }
No me gustó mucho este código. Me gustaría hacer un código que esté más cerca del estilo Haskell, algo como esto:
val max: Option[Int] = { math.max(_, _) } <$> a <*> b
Esto es posible. ¿Y por qué Scalaz no lo implementó de esta manera?
Solo por curiosidad: ¿Qué es lo que no te gusta? Encuentro la versión "scalaz" más limpia para el (mi) ojo ... – Jan
En Haskell, simplemente escribirías 'max <$> a <*> b', que personalmente prefiero a cualquiera de las versiones de Scalaz. –
@TravisBrown ¿cómo lo escribirías para más de dos args? "diversión <$> a <*> b <*> c"? – Jan