* The "Program Files" folder usually has at least one space in its path, which could cause a lot of problems for Unix-centric software. For this reason alone, I always install anything that isn't Windows-specific into "c:\software" instead of "C:\Program Files." If the default prefix is going to be "Program Files" then there should be a note in the Cabal documentation that the application should expect to be installed into a directory with spaces in the path.

* Even if a program is written in Haskell and is built with Cabal, I imagine that people who write Windows Haskell software for non-developers will not expect users to install the software via Cabal. Instead, they will provide an MSI with a GUI installer. That means that, for the most part, the only users of Cabal on Windows will be programmers. So, I think that the Cabal experience on Windows should be optimized for us. In particular, if I run "runghc Setup.hs install" when I am using MSYS Bash, I want the package to install into "/usr/local/" just like it would on Unix.

* I don't think it makes sense for executable packages to have "Haskell" in their prefix unless they are explicitly "for Haskell." For example, Darcs isn't a Haskell tool; it is a versioning tool that happens to be implemented in Haskell, so it wouldn't make sense for it to be installed into "C:\Program Files\Haskell\Darcs-1.0," just like we wouldn't want it installed into "C:\Prgoram Files\C#\Darcs-1.0" if it was written in C#. Conversely, library packages are presumable Haskell-specific and so it makes sense for them to have "Haskell" in their prefix.

Just my 2 cents.

- Brian

- Brian

[1] http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shgetfolderpath.asp
[2] http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwue/html/ch11b.asp

- Brian


or

2) C:\Haskell\<package-name>-<version>

where "Haskell" could also be "Packages" I guess.

-- Daan Leijen

Brian Smith wrote:
> On 6/15/05, *Simon Marlow* <simonmar@microsoft.com
> <mailto:simonmar@microsoft.com >> wrote:
>
>     On 15 June 2005 05:49, Brian Smith wrote:
>
>      > The documentation states in Section 3.1 that the default value of
>      > "prefix" is "/usr/local" on Unix. However, it doesn't specify
>     what the
>      > prefix is on Windows. I found that the default value for prefix is:
>      >     C:\Program
>      > Files\<package-name>\<compiler-name>-<compiler-version>. For example,
>      > version 1.0 of a package named "Foo" compiled with GHC
>      > 6.5 would have a default prefix of:
>      >     C:\Program Files\Foo\ghc-6.5
>
>
>     The compiler version is there to avoid conflicts in the case when you
>     have multiple versions of GHC installed and the package is installed for
>     each one.  However, I don't think we currently include the compiler &
>     version in the default $(libdir) on Unix, so whatever we do we should do
>     it consistently.
>
>
> Okay, that makes more sense to me. However, I think that executables
> should go in  "C:\Program Files\<package-name>-<package-version>\bin,"
> not <C:\Program
> Files\<package-name>\<compiler-name>-<compiler-version>\bin" as they do
> currently.
>
> - Brian
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Libraries mailing list
> Libraries@haskell.org
> http://www.haskell.org/mailman/listinfo/libraries