лямбда-тип будет менее читаемое вроде.
type LL[A, B] = Dog
implicit val dogProduct = new Product[LL] {
override def fst[A](p: LL[A, _]): A = ???
override def snd[B](p: LL[_, B]): B = ???
}
ну как бы не имея реализации нет доказательства того что это имеет смысл
где ты возьмешь это A если у тебя только String и Int
Да, так нельзя сделать, так как A ??? нельзя будет согласовать (разобрали в хаскеле такой пример)
Обсуждают сегодня