Haskell -Подсчет того, сколько раз встречается каждый отдельный элемент в списке

Я новичок в Haskell и просто пытаюсь написать понимание списка, чтобы вычислить частоту каждого отдельного значения в списке, но у меня проблемы с последней частью..

Пока у меня есть это:

frequency :: Eq a => [a] -> [(Int,a)] 
frequency list = [(count y list,y) | y <- rmdups ]

Что-то не так с последней частью, связанной с rmdups.

Функция подсчета принимает символ, а затем список символов и сообщает вам, как часто этот символ встречается. Код выглядит следующим образом.

count :: Eq a => a -> [a] -> Int
count x [] = 0
count x (y:ys) | x==y = 1+(count x ys)
               | otherwise = count x ys

Заранее благодарю -.

9
задан user1353742 1 May 2012 в 13:55
поделиться