Ich habe versucht, ein Haskell-Beispiel zu konvertieren, ich kam früher zu Scalaz. Das ursprüngliche Beispiel war:Anwendbare Instanz für ein Tupel mit Monoid und Funktion innerhalb
("Answer to the ", (*)) <*> ("Ultimate Question of ", 6) <*> ("Life, the Universe, and Everything", 7)
Welche, soweit ich in der Lage bin zu verstehen, nutzt this Instanz. Obwohl, ich habe sieht für eine Instanz
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))
, und es scheint be there (wieder, soweit ich in der Lage bin zu verstehen):
wird es nicht scalaz buchstäblich umgewandelt.
Also, die Frage ist: Warum funktioniert es nicht so? Oder was habe ich vermisst/nicht richtig verstanden?
Dieser Code sendet tatsächlich an die anwendungsspezifische Instanz für Tupel. Das wiederum verwendet den monoiden 'mappend' für Listen (Concentation). Also ist es die Funktionszusammensetzung der zweiten Komponente des Tupels, mit der Liste der Konkatentation des ersten Teils. –