単純なハッシュ テーブルアルゴリズムを試してみると、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)