wither the Platform

Mike Meyer mwm at mired.org
Tue Mar 24 03:07:42 UTC 2015


On Mon, Mar 23, 2015 at 10:19 AM, Richard Eisenberg <eir at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20150323/b518353b/attachment-0001.html>


More information about the Libraries mailing list