Thank you for your great answer Konrad. On Jan 3, 9:46 am, googlegro...@khinsen.fastmail.net wrote: > Dragan R writes: > > > On the net I read that "Impure functional programming doesn't really > > need monads." > > and "It appears that in the presence of mutable state, a lot of the > > advantages of monads become moot." > > Monads are an abstraction mechanism, so you never need them. You can > always use the lower-level techniques in terms of which monads are > implemented. > > The only language that has made monads nearly inevitable is Haskell, > because its standard library is based on monads. But even in Haskell, > monads can be avoided, at the cost of rewriting stuff that is already > in the standard library. > > As with all abstractions, the real question is not whether you need > them, but whether their use improves your programs. This depends as > much on the programmer as on the problem, so there is not clear > answer. As a rule of thumb, I'd say that you should consider using > monads if your application > > 1) can profit from more than one of them, or > 2) can profit from the generic monad operators. > > I probably use monad more than the average programme in my own code, > but that's also because I happen to be familiar with them. I could > very well live with fewer monads in my code. But once you know monads, > they appear magically everywhere you look ;-) > > Konrad.
-- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en