使用 Data.HashMap尝试使用简单的哈希表算法似乎对我有用。我希望更好地理解如何实现一个可变哈希表(这将是 Data.HashTable.IO 吗?),这将允许更快的性能。我完全迷失了...试图修改此处的示例,但无法通过我得到的 IO 类型(双关语)找到我的方式...提前感谢任何类型的演练或参考。
例如,如何使用可变哈希表来实现这个简单的练习?
import qualified Data.HashMap as HM (toList,lookup,insert,empty)
f list = g list HM.empty where
g [] h = HM.toList h
g (x:xs) h = case HM.lookup (x-1) h of
Just _ -> g xs (HM.insert x (x + 1) h)
Nothing -> g xs (HM.insert x x h)