0

リスト ["a","b","c","c"] を haskell のセットに変換しようとしています: [("a",1),("b",1),( "c",2)]。私は地図を使おうとはしていません。私の関数は次のようになります。

-- bagMyItem
bagMyItem :: Eq g => [g] -> Bag g -> Bag g
bagMyItem  (h:t) bag
     | h==q = (q,v+1):(listToBag t bag)  
     | null rBag = bag ++ [(h,1)]     
     | otherwise = (q,v):(listToBag (h:t) rBag)
     where ((q,v):rBag) = bag

私は何か間違ったことをしていますか、それともこれで何か不足していますか?

4

1 に答える 1