What are haskellers critiques of clojure?

To quote the counter thread:

Everyone seems to be allergic to example based documentation ("just follow the types!")

Maybe it is a problem with me not having enough Haskell, but a lot of documentation is just a list of data types and then a list of functions with their types.

One of the first libraries I tried to figure out was. System.Process. I think I spent over an hour looking at this page to get something going. What I wanted to, and expected to, find was something like this:

output <- system "ls -lh"

I look at the list of functions/data-types and my reaction is the following:

  • It provides something that looks like an example for CreateProcess, but isn't complete or self contained. They do a quick ls, but how about show me how to actually get stdout out into a value. Or are we only running ls to increase the ambient temperature of the room?
  • I'd like to see at least a bit about what Handle is or how it gets used. The page for Handle is long, and, of course, hShow is right near the bottom.
  • Why is such a complicated scheme needed (or at least the first thing introduced)? Most languages I've used have system() which takes a string (the command) and returns another string (the output). Why am I manually creating a process object, waiting for it manually, creating some pipes, and extracting things from the handle? Doesn't seem to explain why. I want either String -> IO(String) or String -> IO(Just String, Just String, ExitCode) or something like that.
  • There seem to be some simpler functions further down, they don't quite have something like system() form most languages. readProcess is closest. Why is it buried in the middle of the page? Others in this list don't seem much simpler.
  • If I did need the complexity of using a CreateProcess, why can't it explain how to use it, end-to-end? Why make me jump from link to link across pages?
  • Why is the section for 'data ProcessHandle' empty?
  • The section for 'data StdStream' only seems useful if you happen to have the context of how it is used immediately in your head. Given documentation isn't handled in a way amenable to that, it seems that a more self-contained section would be better.
/r/haskell Thread Parent