Gölgesiz kütüphane için kaynaklara baktığımda, farklı türden daha fazla üye beyanına dikkat ettim ve kullanımda somut bir fark olup olmadığını merak ettim. Örnek genel özellik here için:Daha iyi nazik tipteki üyeler arasındaki fark beyanı
trait Generic1[F[_], FR[_[_]]] {
type R[t]
// ...
}
trait IsHCons1[L[_], FH[_[_]], FT[_[_]]] {
type H[_]
// ...
}
bir tipi elemanı tipi kurucular için ortak sözdizimi (yani H[_]
) ile bildirilir ve Generic1
özellik R[t]
sahiptir. Yardımcı tip diğer adları benzer bir şekilde tanımlanmıştır rağmen:
object Generic1 {
type Aux[F[_], FR[_[_]], R0[_]] = Generic1[F, FR] { type R[t] = R0[t] }
// ...
}
object IsHCons1 {
type Aux[L[_], FH[_[_]], FT[_[_]], H0[_], T0[_] <: HList] = IsHCons1[L, FH, FT] { type H[t] = H0[t] ; type T[t] = T0[t] }
// ...
}
Yani ben R[t]
ve H[_]
herhangi bir fark vardır olmadığını merak?
Yup ... bunu değiştirmek için zorlayıcı bir sebep yok, ama bir dahaki sefere bu bölgedeki şeylere dokunuyorum, muhtemelen R'nin soyut tanımını R [_] 'olarak değiştireceğim. PRs ayrıca hoşgeldiniz :-) –