Python has this magical shelve
which is like a dict
except it's automatically backed by a file. It allows you to persist a large data structure between runs of a program. The really amazing thing is that it doesn't even load the whole thing from disk each time you run but waits for you to ask for a key and then gives you just that key's value.
So, the obvious question: Can Haskell compete?