Recently I have come across this Scalaz code (e.g. https://github.com/scalaz/scalaz/blob/series/7.2.x/core/src/main/scala/scalaz/Functor.scala):
def compose[
This syntax is enabled by the kind-projector Scala plugin. It allows to write type lambdas in more concise way:
kind-projector
Functor[λ[α => F[G[α]]]]
Without the plugin it would look like:
Functor[({type λ[x] = G[F[x]]})#λ]