Можно ли «каррировать» высокодородные типы в Scala?

Предположим, у меня есть признак с двумя параметрами типа, например

trait Qux[A, B]

и другой признак с параметром типа более высокого порядка , например,

trait Turkle[C[_]]

Я хотел бы иметь возможность заменить фиксированное значение для одного из параметров типа для Qux , чтобы его можно было использовать для параметризации Turkle .

Вот пример (кода, который не имеет смысла в Scala!):

trait Baz[A] extends Turkle[Qux[A, _]]

У кого-нибудь есть идеи, как добиться этого эффекта?

21
задан Dmytro Mitin 12 April 2019 в 10:34
поделиться