7
aşağıdaki Haskell tipi sınıf ve örnek:Scala typeclasses: "tümünü yakalama" örnekleri
class Able a where
able :: a -> Int
instance Able Int where
able x = x
yaygın şöyle Scala çevrilir:
trait Able[A] {
def able(a: A): Int
}
implicit object AbleInt extends Able[Int] {
def able(a: Int) = a
}
Haskell'de şimdi bir tür tanımlayabilir örneğini tümünü yakalama ve böylece bütün Belki türleri için bir örneğini oluşturun:
instance Able a => Able (Maybe a) where
able (Just a) = able a
able Nothing = 0
Bu instanc tanımlar vb Maybe Int
, Maybe Bool
için Able
e
İnsan nasıl Scala in bunu vb Int
, Bool
için bir örnek Able
olması kaydıyla?
Ustaca! Çok teşekkür ederim :) – scravy