On Mon, Mar 23, 2015 at 10:19 AM, Richard Eisenberg <e...@cis.upenn.edu> wrote: > Forgive me, all, for asking what many may think a silly question, but I must ask: > What's wrong with the platform?
You know, I don't think we ever really saw an answer to this. Well, given that we're looking at ways to make it easier to work with packages that aren't in HP when you have HP installed, indicating that some people think what's wrong is that it's hard to use non-HP libraries with HP. I don't think this is what's wrong with HP, I think it's a symptom of what's wrong. That's just making it easy to work around having installed the platform. > One non-answer to this question: > - "It's always out-of-date." This statement, while true, isn't a direct indication that something is wrong. I think this is another symptom. Yes, there are some people who always want the newest, shiniest thing. A system where you bundle up some best-of set of libraries won't make them happy, unless maintenance of the libraries moves into HP, or at least has releases coordinated with it. I don't have to have newest and shiniest. I just want to get my problem solved. But I still found that, as soon as I moved beyond doing textbook exercises to trying to solve my problems - not industrial grade solutions, just thing that would work for me - the packages I wanted to use weren't part of HP. Which led to wanting to install those packages on top of HP, which led to all the problems the current discussions are trying to solve, which led to just installing GHC and cabal. I didn't have that problem with Python or Clojure. I didn't run into it with Python until I was building enterprise-class systems. I ran into other issues that made me drop Clojure before I ran into this one. So, why weren't the packages I wanted to install in the platform? If it's really "batteries included" as the haskell.org/platform/contents.html says, shouldn't they be there well beyond just doing textbook exercises? Well, how do you find packages to solve a problem in Haskell? I bet most of you thought "Hackage" or "Hoogle". Maybe a few of you though "Google", and even fewer thought "Stackage". Which means you're probably checking a disorganized, random collection, may well be checking anything on the web, and at best are searching a curated library that's trying to do part of what HP should be doing. For Python, the answer is "search the Standard library docs". For Clojure, it's "search clojure.org". And for the people who habitually go to google for every search who are looking for things in the python standard library or the clojure library, the first links that come back will point back to those docs, not into an archive whose barrier to inclusion is compilation. And this creates secondary and tertiary problems. With Python and Clojure, in the cases where I do need something that's not in the libraries, chances are it's built on top of things that are, because those are the things people will tend to use. With Haskell, that's not the case. And should I need multiple such things - they'll probably depend on the same set of libraries. Net result: nearly two decades of writing Python code, from version 1.4 back in the last century to version 3.4 this year, I never ran into library dependency issues. So, why isn't the answer for Haskell "search the platform docs"? Maybe because there's no way to do that? If there is, I couldn't find it. There is documentation for the libraries, but it's just the haddock docs that are available in the other archives. Adding a search to the platform docs would be a nice step, but it won't solve the problem. I don't think something as integrated as python's standard library is possible, as being in the python standard library means doing maintenance and releases on CPython's schedule. Something like Clojure might be possible, with a small standard set of libraries, and a curated set that builds on that, and then the wide open archive. And of course, the platform shipping with Cabal configured to search only the curated archive by default. But that won't solve the problem unless there's broad agreement in the community that these are the places to search for Haskell packages. Otherwise, people trying to get started will wind up seeing a set of choices they really shouldn't be making yet. <mike
_______________________________________________ Haskell-platform mailing list Haskell-platform@projects.haskell.org http://projects.haskell.org/cgi-bin/mailman/listinfo/haskell-platform