2017-08-22 2 views
0

In vielen Zügen Unterschriften kann man diese ungeschickt suchen Syntax vor Ort:Lambdas, Alphas in Scalaz

private trait CompositionPlus[F[_], G[_]] extends Plus[λ[α => F[G[α]]]]

Könnte jemand mir erklären, die λ[α => F[G[α]]] Teil? Sowohl λ als auch α scheint undefiniert.

EDIT: Ich sehe, was diese Syntax tut, aber ich frage mich, wie es vom Compiler interpretiert wird.

Antwort

1

Diese Syntax stammt von kind-projector. Es ist eine Compiler-Plugin, die

λ[α => F[G[α]]] 

zu

({ type L[α] = F[G[α]] })#L 
+0

vielen Dank neu schreibt, haben Sie IntelliJ verwenden? Es scheint, dass ich eine Art Projektion in Editor-Einstellungen aktiviert habe, trotzdem bekomme ich Syntaxfehler in Quelldateien. Kannst du wissen warum? – greenshade