<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div>I didn't have that problem with Python or Clojure. I didn't run into<br></div><div>it with Python until I was building enterprise-class systems. I ran</div><div>into other issues that made me drop Clojure before I ran into this</div><div>one.</div></div></div></blockquote><div><br></div><div>Well, it also was standard python practice to monkey patch the libraries to fix deficiencies, like the inability to call "PUT" with the standard HTTP lib.</div><div><br></div><div>Where as I see people picking the right X library to have a style of programming that makes their code easy to follow in Haskell instead of "just making it work".</div><div>Now I probably see a highly non-random selection of programmer's work in Haskell. I'd say what I see is not what you propose at all though. I see 2 or 3 HTTP client libs used in the same (large-ish) project even, because each of them has different code it makes easier and prettier.</div><div><br></div><div>One of Haskell's attraction to me is the work done in selecting good abstractions and approaches to problems refining the method used. This will inherently lead to diversity. Sometimes its bad. but its part of not just getting the job done, but instead trying to do it better.</div></div></div></div>