Burada toplam acemi, mücadele.Haskell: Setler için bir tip sınıfını nasıl tanımlayabilirim?
Setler için bir tip sınıfı tanımlamaya çalışıyorum. Bu durumda sadece 'var olan' tanımını gerektirirdi. 'var', set edilmiş bir öğe üzerinde bir set ve fonksiyon alır ve bir boolean döndürür. Bunu Haskell'de nasıl tanımlayabilirim?
Aşağıdakiler doğru yönde mi? sınıf için Çok fazla parametre `ayarlayın:
(sonuç - Yani tipi sınıf tanımı ve 'var' şimdilik doğrudur döndürdüğü listesiyle setin bir uygulanması ..
-- Set.hs --
class Set a b where
exists :: a -> (b -> Bool) -> Bool
-- ListSet.hs --
instance Set ListSet a where
exists a f = True
var ')
Tabii ki, ikincisi, eleman tipinin set tipine son tip parametresi olmasını gerektirir - a -> Bool' için bir örnek oluşturmak istiyorsanız, her zaman mümkün olmayan bir şey. İlişkili tip aileler ise, bunu iyi bir şekilde çözer. – Carl
Teşekkürler! İkinci yol çalışıyorum! Orada neler olup bittiğini tam olarak anlayamadığımı itiraf etmeliyim ama umarım bana kendini gösterir ... – tero