Lambdas, alphas in Scalaz -
in many traits' signatures 1 can spot awkwardly looking syntax:
private trait compositionplus[f[_], g[_]] extends plus[λ[α => f[g[α]]]]
could explain me λ[α => f[g[α]]] part? both λ , α seems undefined.
edit: see syntax wonder how interpreted compiler.
this syntax comes kind-projector. compiler plugin rewrites
λ[α => f[g[α]]] to
({ type l[α] = f[g[α]] })#l wiki
Comments
Post a Comment