containsDuplicates :: Eq a => [a] -> Bool
containsDuplicates [] = False
containsDuplicates (x:xs) = elem x xs || containsDuplicates xs
该函数接受一个类型为a的列表,并返回一个布尔值。函数使用递归方式遍历列表,检查列表中是否有与前一个元素相同的元素。如果有,则返回True,否则继续遍历列表。此外,如果列表为空,则返回False。
在函数定义中,我们使用了Eq类型类的限制,这样我们才能使用elem函数来检查列表中是否有重复项。