Jules Bean wrote:
The documentation is sparse and confusing,

Agreed. The hierarchical library documentation is poor in many places.

As well as a lack of decent online tutorials, examples, etc.  If it wasn't for the book Haskell: The Craft of Functional Programming   I would be much farther back in my comprehension then I am now.

 the "standard" libraries seem incomplete

Compared to perl or java? Yes, absolutely. Perl and Java both have enormous libraries of software available, and both have taken years and years to reach the current state. Compared to C/C++ (which are both popular 'real world' languages, of course) I think haskell isn't doing so badly.

I don't think you can really compare Haskell with the C's. C/C++, for the time being, is the basis of most low level api's. They don't really need a large standard library because their packages  are available everywhere and are easily installed and updated.  Other languages, such as Perl, Java, Python, need to supply their own extensive libraries just to compete.. To say in fact... look you can do whatever you want in our language just as you could in C/C++.

Haskell has been around for quite a while, longer then Java or Python, and almost as long as Perl. Yet it doesn't have half the inherent library functionality that these other languages have. I find it curious. I like Haskell and I think it has a lot of promise. I just don't see why this problem exists.

 and how complitaion and linking is handled feels antiquated.

Can you be more specific here?

First off let me say that I come from a world of Java. With the occasional foray into scripting languages and I only do C when forced.  So yes I am spoiled :)

When I compile a language I expect to do some simple command and have a single end result that is dynamically linked.

One of the first things I wrote to get a feel of Haskell was a small program that popped open a gtk window with a button and every time I clicked the button it incremented a counter.

 When I compile it I get three files, an actual runnable binary (at only 5M in size), a .o file and a .hi file. I'm sure these additional files are usefull in someway and as soon as I come across the right piece of documentation everything should make sense. But as a person new to the language I'm just left wondering why.

Static linking: For a single specific program I can see where it wouldn't make a difference. But lets say I want to replace my entire desktop with Haskell based applications. The sheer amount of additional space that would be required is breathtaking and then if there is a bug discovered in one of the libraries would I then be forced to recompile everything?

There might be solutions/answers to my concerncs already in place. I am new to this and I realize I am going to miss things. But the fact that I am missing the answers to these is just an emphasis on the problem of documentation.

Jason