Какие лямбды типа в Scala и каковы их преимущества?
Когда-нибудь я наткнулся на полу-таинственную нотацию
def f[T](..) = new T[({type l[A]=SomeType[A,..]})#l] {..}
в сообщениях в блоге Scala, в которых говорится о том, что мы использовали «лямбда-трюк».
Хотя у меня есть интуиция по этому поводу (мы получаем параметр анонимного типаA
без необходимости загрязнять определение этим?), я не нашел четкого источника, описывающего, что такое лямбда-трюк типа и каковы его преимущества. Это просто синтаксический сахар или это открывает новые измерения?