
25 Oct
2005
25 Oct
'05
11:23 a.m.
On Tuesday 25 Oct 2005 10:40 am, Charles SDudu wrote:
Hello, I need to calculate the frequency of each character in a String.
Something like this maybe (untested code ahead).. import Data.COrdering import Data.Tree.AVL calc :: String -> [(Char,Int)] calc cs = asListL (genAsTree cc [(c,1) | c <- cs]) where cc (c0,n0) (c1,n1) = case compare c0 c1 of LT -> Lt GT -> Gt EQ -> let n=n0+n1 in n `seq` Eq (c0,n) But this uses packages you have to install yourself.. http://homepages.nildram.co.uk/~ahey/HLibs/Data.COrdering/ http://homepages.nildram.co.uk/~ahey/HLibs/Data.Tree.AVL/ You could probably do something similar with Data.Map or Data.IntMap Regards -- Adrian Hey