Estaba intentando convertir un ejemplo de haskell, me encontré antes, en scalaz. El ejemplo original, era la siguiente:Instancia aplicable para una tupla con monoide y función dentro de
("Answer to the ", (*)) <*> ("Ultimate Question of ", 6) <*> ("Life, the Universe, and Everything", 7)
Lo cual, por lo que yo soy capaz de entender, utiliza this ejemplo.
no consigue convertir en scalaz literalmente:
scala> ("Answer to the ", ((_: Int) * (_: Int)) curried) |@| ("Ultimate Question of ", 6) |@| ("Life, the Universe, and Everything", 7) tupled
res37: (java.lang.String, (Int => (Int => Int), Int, Int)) = (Answer to the Ultimate Question of Life, the Universe, and Everything,(<function1>,6,7))
Aunque, he buscado una instancia, y parece be there (de nuevo, por lo que yo soy capaz de entender).
Entonces, la pregunta es: ¿por qué no funciona así? ¿O qué extrañé/no recibí correctamente?
Este código se envía a la instancia de aplicación para tuplas. Que a su vez usa el monoide 'mappend' para listas (concatenación). Entonces, es la composición de la función del segundo componente de la tupla, con la concatenación de la lista de la primera parte. –