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