
"S. Alexander Jacobson"
There are e.g. Win32 installers HDirect and HaskellScript. Who produced them and who is intended to use them?
Bob the Builder produced them. Joe User uses them. But you are right, there is indeed an intermediate role, the person who downloads and installs the binary package. This does not necessarily involve any building, but still requires a minor degree of knowledge of the packaging scheme. However, in Cabal, there are many different possible binary packaging schemes. Various people will use RPM, .deb, .msi, apt-get, BSD ports, and so on. Essentially, we assume that the person who downloads and installs one of these formats is competent with their chosen mechanism. They just use whatever is standard for their platform. So it seems fair to characterise that role as Joe User, since we don't really expect any familiarity with Cabal. Indeed, such a person does not (knowingly) use Cabal at all! However Cabal does address the person who /creates/ an RPM, .msi, etc, who needs have a documented protocol for building, installing, and registering Haskell code. Roland, Willie, etc, embed that knowledge into the binary package, so the final user, Joe, does not need to think about it.
I run GHC on my Windows box and can't easily/reliably get C code to compile and produce DLLs (both because my C is *very* rusty and because I don't have an up-to-date version of all the cygwin mingwin blah blah packages). Yet, I do occasionally download and install Haskell libraries? Am I Bob, Peter, Sam, Joe, or perhaps someone new?
You are almost certainly Joe, if your ideal world is to download a .msi InstallShield binary package and press the button. Regards, Malcolm