# Counting occurrences question

**Hannah Schroeter
**
uk1o@rz.uni-karlsruhe.de

*Wed, 5 Jun 2002 20:11:41 +0200*

Hello!
On Wed, Jun 05, 2002 at 07:04:28PM +0100, Andy Fugard wrote:
>* >===== Original Message From "xoo" <ixoo21@hotmail.com> =====
*>* >hi.. i was just wondering if some body could give a simple equation for the
*>* following situation.other than recursion plz..
*
>* >occurrences :: Eq a => a -> [a] -> [a]
*>* >--occurrences xs ys returns the number of times that xs occurs in ys
*
>* You may find it easier if you make
*
>* occurrences :: Eq a => a -> [a] -> Integer
*
>* since it would seem it is to return a number, and not another list!
*
Yep. And not call the parameter for the single 'a' "xs". That's
misleading.
>* Also I would guess the function will have a form something like
*
>* occurrences x xs = foldr (countOp x) 0 xs
*>* where countOp :: Eq a => a -> a -> Integer -> Integer
*>* ...
*
>* [...]
*
Why not combine filter and length appropriately?
Kind regards,
Hannah.