Data.Vector.Generic.Vector
typeclass v :: * -> *
kap türüdür ve a :: *
kapta elemanlarının türü iki tür bağımsız değişkenleri, v
ve a
alır. Bu, vector
paketinde tanımlanan vektör türleri için, özellikle Data.Vector.Unboxed.Vector
için genel bir arabirimdir.
Bu, temel olarak v
türünün (Double, Double)
ve Double
türlerini aynı anda olmasa da tutabilmesi gerektiğini söylemektedir. Eğer v ~ Data.Vector.Unboxed.Vector
'u kullanacak olursanız, bu sadece iyi çalışır. Nedeni, unzip
kullanan correlation
, uygulanmasından kaynaklanmaktadır. Bu işlev v (a, b)
'u (v a, v b)
'a böler. correlation
, v (Double, Double)
üzerinde çalıştığı için, v
'un Double
s değerini tutabileceği ek kısıtlamaya ihtiyaç duyar.
Bu genel tür, correlation
işlevinin Data.Vector.Vector
'dan daha fazla türde çalışmasını sağlamak içindir, diğer kitaplıklarda uygulanabilecek herhangi bir vektör stili türü de dahil olmak üzere.
Ben v
(Double, Double)
tutma kapasitesine sahiptir ve aynı zamanda Double
tutma kapasitesine sahiptir için seçtiğiniz herhangi tipin bu kısıtlamalar
Data.Vector.Generic.Vector v (Double, Double)
Data.Vector.Generic.Vector v Double
Devlet vurgulamak istiyoruz. Bu, vektör türünüzün gerçek içeriğini değil, vektör türünüz için belirli önkoşulları belirtir. Vektörün gerçek içeriği, correlation
işlevinin ilk bağımsız değişkeninde belirtilmiştir.
"Bağlamında" bulunduğunuzdan emin değilim. Bunun anlamı, "Sol taraftaki kısıtlamalar yerine getirilirse, sağ taraftaki tipte bir işlev bulunur" ifadesine daha yakındır. – Cubic