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.