私はいくつかのコードを書いていて、タプルの無限リストから無限マップを作成できると考えました。次の行に沿ったもの:
Map.fromList [(i,i+1)|i<-[1..]]
もちろん、Data.Map と Data.Set はそれぞれ無限のマップとセットをサポートしていないことがすぐにわかりました。の Data.Set の貪欲な実装に関する同様の質問に気付きました。ここfromList
での回答を読んだ後、Set では怠惰な実装と貪欲な実装の両方が可能であることは明らかですが、貪欲な実装の方がうまく機能します。ただし、遅延実装が機能しない理由はよくわかりません。鍵の保管方法と関係がありますか?Map.fromList