如何将同义词类型与haskell中的自定义类型进行比较?

时间:2016-10-21 14:27:10

标签: haskell types synonym

我试图在课堂上学习哈希尔,我有一项功课要求我将同义词类型Critere = Acteur -> Bool与自定义Acteur进行比较。 我需要比较列表中的每个业余爱好者,以确保它们匹配其他列表中的每个Critere ...到目前为止我的代码

data Acteur = Acteur Nom Sexe RevenuMinimum Date' Restriction ListeFilms
type Critere = Acteur -> Bool 
instance Ord Acteur where
  compare x y
   | nomActeur x == nomActeur y = EQ
   | nomActeur x < nomActeur y = LT
   | otherwise = GT
eqActeur (Acteur nom1 _ _ _ _ _) (Acteur nom2 _ _ _ _ _ ) = nom1 == nom2
instance Eq Acteur where
  (==)  = eqActeur

这就是老师给我的关于Acteur类型的内容......到目前为止我的答案是:

selectionActeursCriteres :: [Critere] -> [Acteur] -> [Acteur]
selectionActeursCriteres [] (x:xs) = (x:xs)
selectionActeursCriteres (x:xs) [] = []
selectionActeursCriteres (x:xs) (y:ys) = t where
      t = selectionActeursCriteres tail (x:xs) [z | z <- ys, x == y]

我试着像两天前一样加入老师,我还在等...... 提前感谢您的帮助!

0 个答案:

没有答案