Name: Jerry Seinfeld 2015-09-15 3:04
Why do they call it computer science?
It's not about computers and it's not a science.
It's not about computers and it's not a science.
Don't get me wrong, monads are great, and being able to treat a new thing as a monad can simplify code a lot, like applying any abstraction. But I don't think it's useful to think of imperative programs as really being inside of the state monad. An object orienteer sees everything as objects, and Paul Graham thinks that everything really is a list, but I think you'd object to both of those notions. As humans, once we start recognizing a pattern we tend to see it everywhere, and there's a risk that we mistake the abstract idea to be the underlying reality. There are infinite axioms to choose from and theorems to derive. Who's to say which set of ideas are the right ones?No, not everything is really a monadOf course it's not, that's why we always carefully check the fulfillment of monad laws before calling something a monad.
Oh, and trying to find monads everywhere is the right thing to do because it opens up a whole slew of library functions (that are monad-agnostic thanks to higher-kind polymorphism), and even more if you find a MonadPlus or some other typeclass.
I wasn't referring to the expression problem. I also don't think it's a big deal. And don't worry, Pierce's brick wall book is on my shelf.No, types aren't really algebraicI don't even know what you're complaining here. Go read about datatypes a la carte.