Tuesday, March 3, 2009

Dream Monads

So I was sleeping the other night and had one of these weird dreaming/coding experiences. Then a thought came to my mind, either while sleeping or while awake. Is dreaming a Monad? Then I got to thinking some more, and I think I've concluded that yes it is.

It maps objects and operations from life into this new context of a dream. The structure of a dream is nearly isomorphic to life except for those special flying powers you get from time to time. So structure is preserved. Thus, I think it fair to call it a functor.

Since it allows you to lift objects from life into this context it has unit. And since a dream in a dream is really just a dream also, we have join. So being a functor with unit and join, we can conclude it's a Monad.

Now, deciding it's a Monad, what other properties of Monads can we infer onto dreams that we haven't though of before?

No comments: