In the paper attached to my last post, I proved that any data store is a monad. Then I proved that if the data was a monoid (so it has a zero and addition) then the store is a monoid too. And then I asserted that if the data is a monad, then so is the store. And said I wasn’t going to prove it.

Well, it didn’t fit in that paper, but I thought it was worth writing down. So, without further ado, I have written a very short note that:

Describes how any data store can be made into a general monad transformer Shows how, in the case of the trivial monad, this reduces to the simple storage monad described in the other post Shows that if the underlying data is an additive monad, then so is the data store (which is basically just saying that it’s a monoid with >>=).

And here it is: note on storage as a monad transformer.